In [56]:
import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0,4*np.pi, 10)
y = np.sin(x)
plt.plot(x,y)
plt.show
Out[56]:
<function matplotlib.pyplot.show(close=None, block=None)>
In [2]:
x = 6
if x < 5:
    print("cos")
else:
    print("nie cos")
nie cos
In [3]:
for i in range(4):
    print(i**2, end=", ")
0, 1, 4, 9, 
In [4]:
x=5
while x>0:
    print(x, end=", ")
    x=x-1
5, 4, 3, 2, 1, 
In [5]:
def kwadrat(x):
    return (x**2)

kwadrat(10)
Out[5]:
100
In [6]:
float("inf")*float("inf")
Out[6]:
inf
In [7]:
format(0.3,".4f")
Out[7]:
'0.3000'
In [8]:
1==1
0.3+0.3+0.3==0.9
Out[8]:
False
In [9]:
1 is not 1.0
<>:1: SyntaxWarning: "is not" with a literal. Did you mean "!="?
<>:1: SyntaxWarning: "is not" with a literal. Did you mean "!="?
C:\Users\igors\AppData\Local\Temp/ipykernel_12268/2095918375.py:1: SyntaxWarning: "is not" with a literal. Did you mean "!="?
  1 is not 1.0
Out[9]:
True
In [10]:
print("Mam \"coś\" na ból \ngłowy")
Mam "coś" na ból 
głowy
In [11]:
x="biedronka"
x[len(x)-2]
Out[11]:
'k'
In [12]:
x[0:1]
Out[12]:
'b'
In [13]:
x[5:]
Out[13]:
'onka'
In [14]:
x=[1,2,3,4]
len(x)
Out[14]:
4
In [15]:
"wartość: %5.2f" % 7
Out[15]:
'wartość:  7.00'
In [16]:
def logarytm(n):
    k=0
    s=1
    while s<n:
        s = s*2
        k = k+1
    return k-1
        
logarytm(3)
    
Out[16]:
1
In [17]:
for nr in range(1,11):
    print(nr, end=", " if nr < 10 else "\n")
1, 2, 3, 4, 5, 6, 7, 8, 9, 10
In [18]:
x=[1,2,3]
for i in range(1,3):
    x[i]*=3

x
Out[18]:
[1, 6, 9]
In [19]:
def min3(x):
    it = iter(x)
    n1 = next(it)
    n2 = n1
    for e in it:
        if e > n1:
            n2 = n1
            n1 = e
        elif e > n2:
            n2 = e
    return n1,n2

min3([22,31,3,6,4,7,11,12,7,2,4])
Out[19]:
(31, 22)
In [20]:
def min3(x):
    it = iter(x)
    n1 = next(it)
    n2 = next(it)
    
    return n1,n2

min3([22,31,3,6,4,7,11,12,7,2,4])
Out[20]:
(22, 31)
In [21]:
def bmi(wzrost, waga):
    if waga<=0 or wzrost<=0:
        raise Exception("Kłamiesz!")
    else:
        bmi=waga/(wzrost/100)**2
    return bmi

bmi(185,72)
Out[21]:
21.0372534696859
In [22]:
def maks3(a,b,c):
    return max(a,b,c)
    
maks3(5,16,7)
Out[22]:
16
In [23]:
maks3([6],[5,5],[1,12])
Out[23]:
[6]
In [24]:
def mnoz3(x):
    return x*3

x1=2,5
mnoz3(x1)
Out[24]:
(2, 5, 2, 5, 2, 5)
In [25]:
def potega(p):
    return lambda x: x**p

troj = potega(3)
troj(4)
Out[25]:
64
In [26]:
import this
dir(this)
this.c
import math
The Zen of Python, by Tim Peters

Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!
In [27]:
import numpy as np
In [28]:
x = np.array([[1,2,3,4,5],[2,4,6,8,10],[10,20,15,25,30]])
x.ravel().reshape(5,3).dtype
Out[28]:
dtype('int32')
In [29]:
z = np.array([[2.8,4.5],[1.2,3.8]])
z.dtype
Out[29]:
dtype('float64')
In [30]:
d3 = np.array([
    [[1,2,0,1],[5,6,7,8],[7,8,2,4]],
    [[15,20,22,25],[5,2,7,6],[1,1,0,0]]
],dtype=np.float_)
d3
Out[30]:
array([[[ 1.,  2.,  0.,  1.],
        [ 5.,  6.,  7.,  8.],
        [ 7.,  8.,  2.,  4.]],

       [[15., 20., 22., 25.],
        [ 5.,  2.,  7.,  6.],
        [ 1.,  1.,  0.,  0.]]])
In [31]:
np.arange(5.2)
Out[31]:
array([0., 1., 2., 3., 4., 5.])
In [32]:
np.linspace(0,1,6)
Out[32]:
array([0. , 0.2, 0.4, 0.6, 0.8, 1. ])
In [33]:
np.eye(5,4)
Out[33]:
array([[1., 0., 0., 0.],
       [0., 1., 0., 0.],
       [0., 0., 1., 0.],
       [0., 0., 0., 1.],
       [0., 0., 0., 0.]])
In [34]:
np.diag([1,1,5,1,1])
Out[34]:
array([[1, 0, 0, 0, 0],
       [0, 1, 0, 0, 0],
       [0, 0, 5, 0, 0],
       [0, 0, 0, 1, 0],
       [0, 0, 0, 0, 1]])
In [35]:
np.random.randn(3,2)
Out[35]:
array([[ 0.2510445 , -1.2322269 ],
       [-0.29143157, -0.62156276],
       [-0.75891124, -0.11199019]])
In [36]:
np.random.randint(0,10,(3,2))
Out[36]:
array([[8, 5],
       [6, 9],
       [5, 0]])
In [37]:
prz=100+10*np.random.randn(10)
prz
Out[37]:
array([106.61202279,  98.18588021,  91.16034904, 117.96779377,
        94.21446582, 102.33310816, 123.4122745 ,  98.60273562,
       107.17367851,  83.72621422])
In [38]:
np.repeat(["R","M"],[9,8])
Out[38]:
array(['R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'M', 'M', 'M', 'M',
       'M', 'M', 'M', 'M'], dtype='<U1')
In [39]:
mac1=np.tile(["R","M"],(3,2))
mac1
Out[39]:
array([['R', 'M', 'R', 'M'],
       ['R', 'M', 'R', 'M'],
       ['R', 'M', 'R', 'M']], dtype='<U1')
In [40]:
np.hstack((mac1,[["S"],["S"],["S"]]))
Out[40]:
array([['R', 'M', 'R', 'M', 'S'],
       ['R', 'M', 'R', 'M', 'S'],
       ['R', 'M', 'R', 'M', 'S']], dtype='<U1')
In [41]:
np.insert(mac1,1,"S",axis=1)
Out[41]:
array([['R', 'S', 'M', 'R', 'M'],
       ['R', 'S', 'M', 'R', 'M'],
       ['R', 'S', 'M', 'R', 'M']], dtype='<U1')
In [42]:
mac1[1:5:3]
Out[42]:
array([['R', 'M', 'R', 'M']], dtype='<U1')
In [43]:
np.r_[0:5:2]
Out[43]:
array([0, 2, 4])
In [44]:
A = np.arange(36)
A.reshape(6,-1)
Out[44]:
array([[ 0,  1,  2,  3,  4,  5],
       [ 6,  7,  8,  9, 10, 11],
       [12, 13, 14, 15, 16, 17],
       [18, 19, 20, 21, 22, 23],
       [24, 25, 26, 27, 28, 29],
       [30, 31, 32, 33, 34, 35]])
In [45]:
np.sin(np.r_[0,2*np.pi]) == 0
np.isclose(np.sin(np.r_[0,2*np.pi]),0)
Out[45]:
array([ True,  True])
In [46]:
x=[1,1,1,2,3,4,11,100]

np.r_[np.min(x),np.median(x),np.max(x)]
np.array([np.percentile(x,m) for m in [0,25,50,75,100]])
Out[46]:
array([  1.  ,   1.  ,   2.5 ,   5.75, 100.  ])
In [47]:
x=np.array(x)
np.all(x<1000)
Out[47]:
True
In [48]:
iris = [np.r_[1,12,14,15,22,23].tolist(), np.arange(12).tolist(), 18,19]
iris
iris2 = []
for i in iris:
    if type(i)==list:
        for z in i:
            iris2.append(z)
    else:
        iris2.append(i)
            
iris=np.array(iris2)
iris=iris.reshape(5,-1)
In [49]:
A=iris
((A-np.mean(A))/np.std(A)).reshape(5,-1)
Out[49]:
array([[-1.22368678,  0.35990788,  0.64783418,  0.79179733],
       [ 1.79953938,  1.94350253, -1.36764993, -1.22368678],
       [-1.07972363, -0.93576048, -0.79179733, -0.64783418],
       [-0.50387103, -0.35990788, -0.21594473, -0.07198158],
       [ 0.07198158,  0.21594473,  1.22368678,  1.36764993]])
In [50]:
y=np.array([1,2,3,np.nan,5])
np.isnan(y).any()
np.nansum(y)
Out[50]:
11.0
In [51]:
pip install scipy
Requirement already satisfied: scipy in c:\users\igors\miniconda3\envs\igorpython\lib\site-packages (1.8.1)
Requirement already satisfied: numpy<1.25.0,>=1.17.3 in c:\users\igors\miniconda3\envs\igorpython\lib\site-packages (from scipy) (1.21.5)
Note: you may need to restart the kernel to use updated packages.
In [52]:
import scipy.stats
import numpy as np
In [53]:
scipy.stats.rankdata((-1)*np.array((248, 285, 263, 263, 123)), method="min")
Out[53]:
array([4, 1, 2, 2, 5], dtype=int64)
In [54]:
c=np.unique(np.array((248, 285, 263, 263, 123)))
c
Out[54]:
array([123, 248, 263, 285])
In [55]:
c[(c<280) & (c>200)]
Out[55]:
array([248, 263])
In [56]:
y = np.array([[15,18,20,22,24,27,31,35],[23,24,20,22,24,29,33,38]])
y[:,1]
Out[56]:
array([18, 24])
In [57]:
for indeks, dane in enumerate(y):
    print(indeks, ": ", dane)
0 :  [15 18 20 22 24 27 31 35]
1 :  [23 24 20 22 24 29 33 38]
In [58]:
y[np.ix_([0,1],[0,1,-1])]
Out[58]:
array([[15, 18, 35],
       [23, 24, 38]])
In [59]:
y[np.ix_([0,1],np.mean(y,axis=0)>22)]
Out[59]:
array([[24, 27, 31, 35],
       [24, 29, 33, 38]])
In [60]:
def dominanta(x):
    liczba = np.unique(x)
    tabela=[]
    for i in liczba:
        ind=np.count_nonzero(x==i)
        tabela.append(ind)
        np.argmax(tabela)
    
    return liczba[np.argmax(tabela)]


dominanta([1,2,3,3,3,3,3,4,5,5,5,5,5])
Out[60]:
3
In [61]:
m = np.random.permutation(10)
m
m.argsort()
m[m.argsort()]
Out[61]:
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
In [40]:
import numpy as np
import pandas as pd
In [63]:
pd.__version__
Out[63]:
'1.4.1'
In [64]:
pd.read_csv("C:/Users/igors/Documents/Zeszyt1.csv", sep=",", decimal=".")
Out[64]:
A B C
0 1,"k",7.5 NaN NaN
1 2,"m",8.1 NaN NaN
2 3,"k",9.7 NaN NaN
3 4,"k",1.3 NaN NaN
4 5,"m",2.3 NaN NaN
5 6,"m",4.6 NaN NaN
6 7,"k",3.1 NaN NaN
In [65]:
pip install seaborn
Requirement already satisfied: seaborn in c:\users\igors\miniconda3\envs\igorpython\lib\site-packages (0.11.2)
Requirement already satisfied: numpy>=1.15 in c:\users\igors\miniconda3\envs\igorpython\lib\site-packages (from seaborn) (1.21.5)
Requirement already satisfied: pandas>=0.23 in c:\users\igors\miniconda3\envs\igorpython\lib\site-packages (from seaborn) (1.4.1)
Requirement already satisfied: matplotlib>=2.2 in c:\users\igors\miniconda3\envs\igorpython\lib\site-packages (from seaborn) (3.5.1)
Requirement already satisfied: scipy>=1.0 in c:\users\igors\miniconda3\envs\igorpython\lib\site-packages (from seaborn) (1.8.1)
Requirement already satisfied: packaging>=20.0 in c:\users\igors\miniconda3\envs\igorpython\lib\site-packages (from matplotlib>=2.2->seaborn) (21.3)
Requirement already satisfied: python-dateutil>=2.7 in c:\users\igors\miniconda3\envs\igorpython\lib\site-packages (from matplotlib>=2.2->seaborn) (2.8.2)
Requirement already satisfied: pillow>=6.2.0 in c:\users\igors\miniconda3\envs\igorpython\lib\site-packages (from matplotlib>=2.2->seaborn) (9.0.1)
Requirement already satisfied: pyparsing>=2.2.1 in c:\users\igors\miniconda3\envs\igorpython\lib\site-packages (from matplotlib>=2.2->seaborn) (3.0.4)
Requirement already satisfied: kiwisolver>=1.0.1 in c:\users\igors\miniconda3\envs\igorpython\lib\site-packages (from matplotlib>=2.2->seaborn) (1.4.2)
Requirement already satisfied: cycler>=0.10 in c:\users\igors\miniconda3\envs\igorpython\lib\site-packages (from matplotlib>=2.2->seaborn) (0.11.0)
Requirement already satisfied: fonttools>=4.22.0 in c:\users\igors\miniconda3\envs\igorpython\lib\site-packages (from matplotlib>=2.2->seaborn) (4.25.0)
Requirement already satisfied: pytz>=2020.1 in c:\users\igors\miniconda3\envs\igorpython\lib\site-packages (from pandas>=0.23->seaborn) (2021.3)
Requirement already satisfied: six>=1.5 in c:\users\igors\miniconda3\envs\igorpython\lib\site-packages (from python-dateutil>=2.7->matplotlib>=2.2->seaborn) (1.16.0)
Note: you may need to restart the kernel to use updated packages.
In [66]:
import seaborn as sns
In [124]:
flights = sns.load_dataset("flights")
tips = sns.load_dataset("tips")
In [68]:
xx = pd.DataFrame({
    "Numer" : np.round(np.random.uniform(0,1,5),2),
    "Kraj" : ["Algeria","Tunezja","Maroko","Egipt","Libia"],
    "Miasto" : ["Algier","Tunis","Rabat","Kair","Tripolis"]
})

xx
Out[68]:
Numer Kraj Miasto
0 0.90 Algeria Algier
1 0.91 Tunezja Tunis
2 0.53 Maroko Rabat
3 0.10 Egipt Kair
4 0.56 Libia Tripolis
In [69]:
xx.size
Out[69]:
15
In [70]:
flights.head()
Out[70]:
year month passengers
0 1949 Jan 112
1 1949 Feb 118
2 1949 Mar 132
3 1949 Apr 129
4 1949 May 121
In [71]:
flights.tail()
Out[71]:
year month passengers
139 1960 Aug 606
140 1960 Sep 508
141 1960 Oct 461
142 1960 Nov 390
143 1960 Dec 432
In [72]:
flights.dtypes
Out[72]:
year             int64
month         category
passengers       int64
dtype: object
In [73]:
flights.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 144 entries, 0 to 143
Data columns (total 3 columns):
 #   Column      Non-Null Count  Dtype   
---  ------      --------------  -----   
 0   year        144 non-null    int64   
 1   month       144 non-null    category
 2   passengers  144 non-null    int64   
dtypes: category(1), int64(2)
memory usage: 2.9 KB
In [74]:
flights["year"]
Out[74]:
0      1949
1      1949
2      1949
3      1949
4      1949
       ... 
139    1960
140    1960
141    1960
142    1960
143    1960
Name: year, Length: 144, dtype: int64
In [75]:
pd.Series(np.r_[np.nan,0:1:11j])
Out[75]:
0     NaN
1     0.0
2     0.1
3     0.2
4     0.3
5     0.4
6     0.5
7     0.6
8     0.7
9     0.8
10    0.9
11    1.0
dtype: float64
In [76]:
flights.year.values
Out[76]:
array([1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949,
       1949, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950,
       1950, 1950, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951,
       1951, 1951, 1951, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952,
       1952, 1952, 1952, 1952, 1953, 1953, 1953, 1953, 1953, 1953, 1953,
       1953, 1953, 1953, 1953, 1953, 1954, 1954, 1954, 1954, 1954, 1954,
       1954, 1954, 1954, 1954, 1954, 1954, 1955, 1955, 1955, 1955, 1955,
       1955, 1955, 1955, 1955, 1955, 1955, 1955, 1956, 1956, 1956, 1956,
       1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1957, 1957, 1957,
       1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1958, 1958,
       1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1959,
       1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959,
       1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960,
       1960], dtype=int64)
In [77]:
pd.Series(pd.date_range("2022-07-15","2022-08-12",freq="72H"))
Out[77]:
0   2022-07-15
1   2022-07-18
2   2022-07-21
3   2022-07-24
4   2022-07-27
5   2022-07-30
6   2022-08-02
7   2022-08-05
8   2022-08-08
9   2022-08-11
dtype: datetime64[ns]
In [78]:
daty=pd.Series(pd.date_range(
    start=str(flights.year.values.min()),
    end=str(flights.year.values.max()+1),
    freq="1M"))
daty
Out[78]:
0     1949-01-31
1     1949-02-28
2     1949-03-31
3     1949-04-30
4     1949-05-31
         ...    
139   1960-08-31
140   1960-09-30
141   1960-10-31
142   1960-11-30
143   1960-12-31
Length: 144, dtype: datetime64[ns]
In [79]:
flights2 = flights.copy()
flights2["daty"]=daty
flights2
Out[79]:
year month passengers daty
0 1949 Jan 112 1949-01-31
1 1949 Feb 118 1949-02-28
2 1949 Mar 132 1949-03-31
3 1949 Apr 129 1949-04-30
4 1949 May 121 1949-05-31
... ... ... ... ...
139 1960 Aug 606 1960-08-31
140 1960 Sep 508 1960-09-30
141 1960 Oct 461 1960-10-31
142 1960 Nov 390 1960-11-30
143 1960 Dec 432 1960-12-31

144 rows × 4 columns

In [80]:
p=pd.Series(pd.Categorical(["Mocarstwo","Mocarstwo","Hipermocarstwo","Supermocarstwo","Mocarstwo"],categories=["Mocarstwo","Supermocarstwo","Hipermocarstwo"],ordered=True))
In [81]:
xx.Numer.values
Out[81]:
array([0.9 , 0.91, 0.53, 0.1 , 0.56])
In [82]:
pd.cut(xx.Numer, np.r_[0,0.1,0.8,1],labels=["mało","średnio","dużo"])
Out[82]:
0       dużo
1       dużo
2    średnio
3       mało
4    średnio
Name: Numer, dtype: category
Categories (3, object): ['mało' < 'średnio' < 'dużo']
In [83]:
p.cat.codes
Out[83]:
0    0
1    0
2    2
3    1
4    0
dtype: int8
In [84]:
#p = p.cat.add_categories("Ultramocarz")
#p[0] = "Ultramocarz"
#p.sort_values()
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
~\miniconda3\envs\igorpython\lib\site-packages\pandas\core\series.py in __setitem__(self, key, value)
   1084         try:
-> 1085             self._set_with_engine(key, value)
   1086         except (KeyError, ValueError):

~\miniconda3\envs\igorpython\lib\site-packages\pandas\core\series.py in _set_with_engine(self, key, value)
   1148         # this is equivalent to self._values[key] = value
-> 1149         self._mgr.setitem_inplace(loc, value)
   1150 

~\miniconda3\envs\igorpython\lib\site-packages\pandas\core\internals\base.py in setitem_inplace(self, indexer, value)
    189 
--> 190         arr[indexer] = value
    191 

~\miniconda3\envs\igorpython\lib\site-packages\pandas\core\arrays\_mixins.py in __setitem__(self, key, value)
    248         key = check_array_indexer(self, key)
--> 249         value = self._validate_setitem_value(value)
    250         self._ndarray[key] = value

~\miniconda3\envs\igorpython\lib\site-packages\pandas\core\arrays\categorical.py in _validate_setitem_value(self, value)
   1456         else:
-> 1457             return self._validate_scalar(value)
   1458 

~\miniconda3\envs\igorpython\lib\site-packages\pandas\core\arrays\categorical.py in _validate_scalar(self, fill_value)
   1483         else:
-> 1484             raise TypeError(
   1485                 "Cannot setitem on a Categorical with a new "

TypeError: Cannot setitem on a Categorical with a new category (Ultramocarz), set the categories first

During handling of the above exception, another exception occurred:

TypeError                                 Traceback (most recent call last)
~\AppData\Local\Temp/ipykernel_12268/1336220231.py in <module>
      1 #p = p.cat.add_categories("Ultramocarz")
----> 2 p[0] = "Ultramocarz"
      3 p.sort_values()

~\miniconda3\envs\igorpython\lib\site-packages\pandas\core\series.py in __setitem__(self, key, value)
   1138 
   1139             else:
-> 1140                 self._set_with(key, value)
   1141 
   1142         if cacher_needs_updating:

~\miniconda3\envs\igorpython\lib\site-packages\pandas\core\series.py in _set_with(self, key, value)
   1165         if key_type == "integer":
   1166             if not self.index._should_fallback_to_positional:
-> 1167                 self._set_labels(key, value)
   1168             else:
   1169                 self._set_values(key, value)

~\miniconda3\envs\igorpython\lib\site-packages\pandas\core\series.py in _set_labels(self, key, value)
   1177         if mask.any():
   1178             raise KeyError(f"{key[mask]} not in index")
-> 1179         self._set_values(indexer, value)
   1180 
   1181     def _set_values(self, key, value) -> None:

~\miniconda3\envs\igorpython\lib\site-packages\pandas\core\series.py in _set_values(self, key, value)
   1183             key = key._values
   1184 
-> 1185         self._mgr = self._mgr.setitem(indexer=key, value=value)
   1186         self._maybe_update_cacher()
   1187 

~\miniconda3\envs\igorpython\lib\site-packages\pandas\core\internals\managers.py in setitem(self, indexer, value)
    335         For SingleBlockManager, this backs s[indexer] = value
    336         """
--> 337         return self.apply("setitem", indexer=indexer, value=value)
    338 
    339     def putmask(self, mask, new, align: bool = True):

~\miniconda3\envs\igorpython\lib\site-packages\pandas\core\internals\managers.py in apply(self, f, align_keys, ignore_failures, **kwargs)
    302                     applied = b.apply(f, **kwargs)
    303                 else:
--> 304                     applied = getattr(b, f)(**kwargs)
    305             except (TypeError, NotImplementedError):
    306                 if not ignore_failures:

~\miniconda3\envs\igorpython\lib\site-packages\pandas\core\internals\blocks.py in setitem(self, indexer, value)
   1602 
   1603         check_setitem_lengths(indexer, value, self.values)
-> 1604         self.values[indexer] = value
   1605         return self
   1606 

~\miniconda3\envs\igorpython\lib\site-packages\pandas\core\arrays\_mixins.py in __setitem__(self, key, value)
    247     def __setitem__(self, key, value):
    248         key = check_array_indexer(self, key)
--> 249         value = self._validate_setitem_value(value)
    250         self._ndarray[key] = value
    251 

~\miniconda3\envs\igorpython\lib\site-packages\pandas\core\arrays\categorical.py in _validate_setitem_value(self, value)
   1455             return self._validate_listlike(value)
   1456         else:
-> 1457             return self._validate_scalar(value)
   1458 
   1459     _validate_searchsorted_value = _validate_setitem_value

~\miniconda3\envs\igorpython\lib\site-packages\pandas\core\arrays\categorical.py in _validate_scalar(self, fill_value)
   1482             fill_value = self._unbox_scalar(fill_value)
   1483         else:
-> 1484             raise TypeError(
   1485                 "Cannot setitem on a Categorical with a new "
   1486                 f"category ({fill_value}), set the categories first"

TypeError: Cannot setitem on a Categorical with a new category (Ultramocarz), set the categories first
In [85]:
flights.index
Out[85]:
RangeIndex(start=0, stop=144, step=1)
In [86]:
flights.columns
Out[86]:
Index(['year', 'month', 'passengers'], dtype='object')
In [87]:
flights.month.index
Out[87]:
RangeIndex(start=0, stop=144, step=1)
In [88]:
flights2 = flights.copy()
flights2 = flights2.set_index([flights2.year])
flights2
Out[88]:
year month passengers
year
1949 1949 Jan 112
1949 1949 Feb 118
1949 1949 Mar 132
1949 1949 Apr 129
1949 1949 May 121
... ... ... ...
1960 1960 Aug 606
1960 1960 Sep 508
1960 1960 Oct 461
1960 1960 Nov 390
1960 1960 Dec 432

144 rows × 3 columns

In [89]:
flights2.index.name = "LATA"
flights2.columns.name = "DANE"
flights2
Out[89]:
DANE year month passengers
LATA
1949 1949 Jan 112
1949 1949 Feb 118
1949 1949 Mar 132
1949 1949 Apr 129
1949 1949 May 121
... ... ... ...
1960 1960 Aug 606
1960 1960 Sep 508
1960 1960 Oct 461
1960 1960 Nov 390
1960 1960 Dec 432

144 rows × 3 columns

In [90]:
y = pd.DataFrame({
    "A":np.round(np.random.uniform(0,1,6),2)
    
})
y.index = pd.MultiIndex(
    levels = [["x","y","z"],[1,2,3,4]],
    codes = [[0,0,0,1,2,1],
              [0,1,3,0,1,2]],
    names = ["i1","i2"]
)


y
Out[90]:
A
i1 i2
x 1 0.96
2 0.19
4 0.43
y 1 0.95
z 2 0.37
y 3 0.78
In [91]:
b = pd.Series(np.round(np.random.uniform(0,1,10),2))
i = np.r_[0:10]
np.random.shuffle(i)

b.index=i
b
Out[91]:
9    0.73
5    0.92
2    0.11
4    0.00
1    0.46
8    0.50
3    0.95
0    0.71
6    0.01
7    0.49
dtype: float64
In [92]:
b[0:2]
Out[92]:
9    0.73
5    0.92
dtype: float64
In [93]:
b[::-3]
Out[93]:
7    0.49
3    0.95
4    0.00
9    0.73
dtype: float64
In [94]:
b[b.values>0.6]
Out[94]:
9    0.73
5    0.92
3    0.95
0    0.71
dtype: float64
In [95]:
b.values[[0,1]]
Out[95]:
array([0.73, 0.92])
In [96]:
b[[0,1]]
Out[96]:
0    0.71
1    0.46
dtype: float64
In [97]:
b
Out[97]:
9    0.73
5    0.92
2    0.11
4    0.00
1    0.46
8    0.50
3    0.95
0    0.71
6    0.01
7    0.49
dtype: float64
In [98]:
b.iloc[0:6]
Out[98]:
9    0.73
5    0.92
2    0.11
4    0.00
1    0.46
8    0.50
dtype: float64
In [99]:
b[0:6]
Out[99]:
9    0.73
5    0.92
2    0.11
4    0.00
1    0.46
8    0.50
dtype: float64
In [100]:
b.loc[0:7]
Out[100]:
0    0.71
6    0.01
7    0.49
dtype: float64
In [101]:
b.iloc[b.values>0.7]
Out[101]:
9    0.73
5    0.92
3    0.95
0    0.71
dtype: float64
In [102]:
flights2 = flights.copy()
daty = pd.date_range(
    str(flights.year.min()),
    str(flights.year.max()+1),
    freq="1M"
)

flights2.index = daty
flights2
Out[102]:
year month passengers
1949-01-31 1949 Jan 112
1949-02-28 1949 Feb 118
1949-03-31 1949 Mar 132
1949-04-30 1949 Apr 129
1949-05-31 1949 May 121
... ... ... ...
1960-08-31 1960 Aug 606
1960-09-30 1960 Sep 508
1960-10-31 1960 Oct 461
1960-11-30 1960 Nov 390
1960-12-31 1960 Dec 432

144 rows × 3 columns

In [103]:
flights2.loc["1949-01-31":"1949-04-30"]
Out[103]:
year month passengers
1949-01-31 1949 Jan 112
1949-02-28 1949 Feb 118
1949-03-31 1949 Mar 132
1949-04-30 1949 Apr 129
In [104]:
y.loc["x"]
Out[104]:
A
i2
1 0.96
2 0.19
4 0.43
In [105]:
y.loc["x",4]
Out[105]:
A    0.43
Name: (x, 4), dtype: float64
In [106]:
flights[["year","month"]]
Out[106]:
year month
0 1949 Jan
1 1949 Feb
2 1949 Mar
3 1949 Apr
4 1949 May
... ... ...
139 1960 Aug
140 1960 Sep
141 1960 Oct
142 1960 Nov
143 1960 Dec

144 rows × 2 columns

In [107]:
flights.iloc[:,0:2:1]
Out[107]:
year month
0 1949 Jan
1 1949 Feb
2 1949 Mar
3 1949 Apr
4 1949 May
... ... ...
139 1960 Aug
140 1960 Sep
141 1960 Oct
142 1960 Nov
143 1960 Dec

144 rows × 2 columns

In [108]:
flights.loc[0:10,"year":"passengers"]
Out[108]:
year month passengers
0 1949 Jan 112
1 1949 Feb 118
2 1949 Mar 132
3 1949 Apr 129
4 1949 May 121
5 1949 Jun 135
6 1949 Jul 148
7 1949 Aug 148
8 1949 Sep 136
9 1949 Oct 119
10 1949 Nov 104
In [109]:
flights.loc[[1,2,3],"year":"passengers"]
Out[109]:
year month passengers
1 1949 Feb 118
2 1949 Mar 132
3 1949 Apr 129
In [110]:
flights.sample(n=3,random_state=3)
Out[110]:
year month passengers
25 1951 Feb 150
6 1949 Jul 148
3 1949 Apr 129
In [111]:
flights.sample(frac=0.1)
Out[111]:
year month passengers
56 1953 Sep 237
120 1959 Jan 360
115 1958 Aug 505
76 1955 May 270
83 1955 Dec 278
31 1951 Aug 199
143 1960 Dec 432
9 1949 Oct 119
80 1955 Sep 312
22 1950 Nov 114
118 1958 Nov 310
85 1956 Feb 277
10 1949 Nov 104
16 1950 May 125
In [112]:
flights01=flights.sample(frac=0.8)
flights01
Out[112]:
year month passengers
125 1959 Jun 472
113 1958 Jun 435
96 1957 Jan 315
10 1949 Nov 104
86 1956 Mar 317
... ... ... ...
65 1954 Jun 264
15 1950 Apr 135
99 1957 Apr 348
8 1949 Sep 136
42 1952 Jul 230

115 rows × 3 columns

In [113]:
flights02=flights.iloc[~flights.index.isin(flights01.index)]

flights02
Out[113]:
year month passengers
0 1949 Jan 112
2 1949 Mar 132
13 1950 Feb 126
21 1950 Oct 133
25 1951 Feb 150
27 1951 Apr 163
30 1951 Jul 199
35 1951 Dec 166
38 1952 Mar 193
43 1952 Aug 242
45 1952 Oct 191
50 1953 Mar 236
55 1953 Aug 272
58 1953 Nov 180
60 1954 Jan 204
63 1954 Apr 227
64 1954 May 234
71 1954 Dec 229
84 1956 Jan 284
91 1956 Aug 405
97 1957 Feb 301
106 1957 Nov 305
110 1958 Mar 362
119 1958 Dec 337
124 1959 May 420
126 1959 Jul 548
129 1959 Oct 407
137 1960 Jun 535
142 1960 Nov 390
In [114]:
import pandas as pd
import numpy as np
In [115]:
flights.insert(3,"passengers (k)",flights.passengers/1000)
In [116]:
flights.iloc[1:]
Out[116]:
year month passengers passengers (k)
1 1949 Feb 118 0.118
2 1949 Mar 132 0.132
3 1949 Apr 129 0.129
4 1949 May 121 0.121
5 1949 Jun 135 0.135
... ... ... ... ...
139 1960 Aug 606 0.606
140 1960 Sep 508 0.508
141 1960 Oct 461 0.461
142 1960 Nov 390 0.390
143 1960 Dec 432 0.432

143 rows × 4 columns

In [117]:
flights.iloc[:-1]
Out[117]:
year month passengers passengers (k)
0 1949 Jan 112 0.112
1 1949 Feb 118 0.118
2 1949 Mar 132 0.132
3 1949 Apr 129 0.129
4 1949 May 121 0.121
... ... ... ... ...
138 1960 Jul 622 0.622
139 1960 Aug 606 0.606
140 1960 Sep 508 0.508
141 1960 Oct 461 0.461
142 1960 Nov 390 0.390

143 rows × 4 columns

In [118]:
flights.iloc[-1]
Out[118]:
year               1960
month               Dec
passengers          432
passengers (k)    0.432
Name: 143, dtype: object
In [119]:
flights.describe()
Out[119]:
year passengers passengers (k)
count 144.000000 144.000000 144.000000
mean 1954.500000 280.298611 0.280299
std 3.464102 119.966317 0.119966
min 1949.000000 104.000000 0.104000
25% 1951.750000 180.000000 0.180000
50% 1954.500000 265.500000 0.265500
75% 1957.250000 360.500000 0.360500
max 1960.000000 622.000000 0.622000
In [120]:
pd.pivot_table(flights[["month", "passengers"]],index=["month"], aggfunc="mean")
Out[120]:
passengers
month
Jan 241.750000
Feb 235.000000
Mar 270.166667
Apr 267.083333
May 271.833333
Jun 311.666667
Jul 351.333333
Aug 351.083333
Sep 302.416667
Oct 266.583333
Nov 232.833333
Dec 261.833333
In [121]:
flights.groupby("year")
rok = iter(flights.groupby("year"))
next(rok)
Out[121]:
(1949,
     year month  passengers  passengers (k)
 0   1949   Jan         112           0.112
 1   1949   Feb         118           0.118
 2   1949   Mar         132           0.132
 3   1949   Apr         129           0.129
 4   1949   May         121           0.121
 5   1949   Jun         135           0.135
 6   1949   Jul         148           0.148
 7   1949   Aug         148           0.148
 8   1949   Sep         136           0.136
 9   1949   Oct         119           0.119
 10  1949   Nov         104           0.104
 11  1949   Dec         118           0.118)
In [122]:
flights["passengers"].groupby(flights["year"]).apply(np.sum)
Out[122]:
year
1949    1520
1950    1676
1951    2042
1952    2364
1953    2700
1954    2867
1955    3408
1956    3939
1957    4421
1958    4572
1959    5140
1960    5714
Name: passengers, dtype: int64
In [123]:
flights.groupby("year").mean()
Out[123]:
passengers passengers (k)
year
1949 126.666667 0.126667
1950 139.666667 0.139667
1951 170.166667 0.170167
1952 197.000000 0.197000
1953 225.000000 0.225000
1954 238.916667 0.238917
1955 284.000000 0.284000
1956 328.250000 0.328250
1957 368.416667 0.368417
1958 381.000000 0.381000
1959 428.333333 0.428333
1960 476.166667 0.476167
In [124]:
flights.month.value_counts()
Out[124]:
Jan    12
Feb    12
Mar    12
Apr    12
May    12
Jun    12
Jul    12
Aug    12
Sep    12
Oct    12
Nov    12
Dec    12
Name: month, dtype: int64
In [125]:
flights.sort_values(by="month")
Out[125]:
year month passengers passengers (k)
0 1949 Jan 112 0.112
120 1959 Jan 360 0.360
108 1958 Jan 340 0.340
96 1957 Jan 315 0.315
84 1956 Jan 284 0.284
... ... ... ... ...
35 1951 Dec 166 0.166
23 1950 Dec 140 0.140
11 1949 Dec 118 0.118
131 1959 Dec 405 0.405
143 1960 Dec 432 0.432

144 rows × 4 columns

In [126]:
flights.groupby("year").mean().round(1).transpose().iloc[:,0:5]
Out[126]:
year 1949 1950 1951 1952 1953
passengers 126.7 139.7 170.2 197.0 225.0
passengers (k) 0.1 0.1 0.2 0.2 0.2
In [127]:
flights_stack = flights.stack()
flights_stack.head(15)
Out[127]:
0  year               1949
   month               Jan
   passengers          112
   passengers (k)    0.112
1  year               1949
   month               Feb
   passengers          118
   passengers (k)    0.118
2  year               1949
   month               Mar
   passengers          132
   passengers (k)    0.132
3  year               1949
   month               Apr
   passengers          129
dtype: object
In [128]:
flights.groupby("year").describe().iloc[:,1:7]
Out[128]:
passengers
mean std min 25% 50% 75%
year
1949 126.666667 13.720147 104.0 118.00 125.0 135.25
1950 139.666667 19.070841 114.0 125.75 137.5 151.25
1951 170.166667 18.438267 145.0 159.00 169.0 179.50
1952 197.000000 22.966379 171.0 180.75 192.0 211.25
1953 225.000000 28.466887 180.0 199.75 232.0 238.50
1954 238.916667 34.924486 188.0 221.25 231.5 260.25
1955 284.000000 42.140458 233.0 260.75 272.0 312.75
1956 328.250000 47.861780 271.0 300.50 315.0 359.75
1957 368.416667 57.890898 301.0 330.75 351.5 408.50
1958 381.000000 64.530472 310.0 339.25 360.5 411.75
1959 428.333333 69.830097 342.0 387.50 406.5 465.25
1960 476.166667 77.737125 390.0 418.50 461.0 514.75
In [129]:
flights_pivot = flights.pivot("year","month","passengers")
flights_pivot
Out[129]:
month Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
year
1949 112 118 132 129 121 135 148 148 136 119 104 118
1950 115 126 141 135 125 149 170 170 158 133 114 140
1951 145 150 178 163 172 178 199 199 184 162 146 166
1952 171 180 193 181 183 218 230 242 209 191 172 194
1953 196 196 236 235 229 243 264 272 237 211 180 201
1954 204 188 235 227 234 264 302 293 259 229 203 229
1955 242 233 267 269 270 315 364 347 312 274 237 278
1956 284 277 317 313 318 374 413 405 355 306 271 306
1957 315 301 356 348 355 422 465 467 404 347 305 336
1958 340 318 362 348 363 435 491 505 404 359 310 337
1959 360 342 406 396 420 472 548 559 463 407 362 405
1960 417 391 419 461 472 535 622 606 508 461 390 432
In [130]:
ff=flights_pivot.unstack().reset_index()
ff
Out[130]:
month year 0
0 Jan 1949 112
1 Jan 1950 115
2 Jan 1951 145
3 Jan 1952 171
4 Jan 1953 196
... ... ... ...
139 Dec 1956 306
140 Dec 1957 336
141 Dec 1958 337
142 Dec 1959 405
143 Dec 1960 432

144 rows × 3 columns

In [131]:
ff3 = pd.melt(flights,"month",var_name = "year")
ff3
Out[131]:
month year value
0 Jan year 1949.000
1 Feb year 1949.000
2 Mar year 1949.000
3 Apr year 1949.000
4 May year 1949.000
... ... ... ...
427 Aug passengers (k) 0.606
428 Sep passengers (k) 0.508
429 Oct passengers (k) 0.461
430 Nov passengers (k) 0.390
431 Dec passengers (k) 0.432

432 rows × 3 columns

In [132]:
ff4 = flights.copy()
ff4.iloc[3,2] = np.nan

ff4
Out[132]:
year month passengers passengers (k)
0 1949 Jan 112.0 0.112
1 1949 Feb 118.0 0.118
2 1949 Mar 132.0 0.132
3 1949 Apr NaN 0.129
4 1949 May 121.0 0.121
... ... ... ... ...
139 1960 Aug 606.0 0.606
140 1960 Sep 508.0 0.508
141 1960 Oct 461.0 0.461
142 1960 Nov 390.0 0.390
143 1960 Dec 432.0 0.432

144 rows × 4 columns

In [133]:
ff4.isnull().values
Out[133]:
array([[False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False,  True, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False]])
In [134]:
ff4.count()
Out[134]:
year              144
month             144
passengers        143
passengers (k)    144
dtype: int64
In [135]:
ff4.dropna()
Out[135]:
year month passengers passengers (k)
0 1949 Jan 112.0 0.112
1 1949 Feb 118.0 0.118
2 1949 Mar 132.0 0.132
4 1949 May 121.0 0.121
5 1949 Jun 135.0 0.135
... ... ... ... ...
139 1960 Aug 606.0 0.606
140 1960 Sep 508.0 0.508
141 1960 Oct 461.0 0.461
142 1960 Nov 390.0 0.390
143 1960 Dec 432.0 0.432

143 rows × 4 columns

In [136]:
ff4["passengers"].fillna(value=120)
Out[136]:
0      112.0
1      118.0
2      132.0
3      120.0
4      121.0
       ...  
139    606.0
140    508.0
141    461.0
142    390.0
143    432.0
Name: passengers, Length: 144, dtype: float64
In [ ]:
 
In [137]:
import string
import re
import unicodedata
import textwrap
import numpy as np
import pandas as pd
In [138]:
x = "Łoś ugryzł kiedyś Paulinkę."
x[4:10]
Out[138]:
'ugryzł'
In [139]:
x[4:10] + " " + x[-9:-1]
Out[139]:
'ugryzł Paulinkę'
In [140]:
(x[-9:-2]+"a, ")*2
Out[140]:
'Paulinka, Paulinka, '
In [141]:
"Paulink" in x
Out[141]:
True
In [142]:
list(x[:3])
Out[142]:
['Ł', 'o', 'ś']
In [143]:
string.ascii_letters
Out[143]:
'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
In [144]:
string.ascii_lowercase
Out[144]:
'abcdefghijklmnopqrstuvwxyz'
In [145]:
string.punctuation
Out[145]:
'!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~'
In [146]:
pd.Series(list(string.ascii_lowercase))
Out[146]:
0     a
1     b
2     c
3     d
4     e
5     f
6     g
7     h
8     i
9     j
10    k
11    l
12    m
13    n
14    o
15    p
16    q
17    r
18    s
19    t
20    u
21    v
22    w
23    x
24    y
25    z
dtype: object
In [147]:
pd.Series([a+b for a in string.ascii_uppercase for b in string.digits]).head(20)
Out[147]:
0     A0
1     A1
2     A2
3     A3
4     A4
5     A5
6     A6
7     A7
8     A8
9     A9
10    B0
11    B1
12    B2
13    B3
14    B4
15    B5
16    B6
17    B7
18    B8
19    B9
dtype: object
In [148]:
chr(232)
Out[148]:
'è'
In [149]:
for znak in range(300):
    print(znak,chr(znak))
0 
1 
2 
3 
4 
5 
6 
7 
8 
9 	
10 

11 
12 
13 
14 
15 
16 
17 
18 
19 
20 
21 
22 
23 
24 
25 
26 
27 
28 
29 
30 
31 
32  
33 !
34 "
35 #
36 $
37 %
38 &
39 '
40 (
41 )
42 *
43 +
44 ,
45 -
46 .
47 /
48 0
49 1
50 2
51 3
52 4
53 5
54 6
55 7
56 8
57 9
58 :
59 ;
60 <
61 =
62 >
63 ?
64 @
65 A
66 B
67 C
68 D
69 E
70 F
71 G
72 H
73 I
74 J
75 K
76 L
77 M
78 N
79 O
80 P
81 Q
82 R
83 S
84 T
85 U
86 V
87 W
88 X
89 Y
90 Z
91 [
92 \
93 ]
94 ^
95 _
96 `
97 a
98 b
99 c
100 d
101 e
102 f
103 g
104 h
105 i
106 j
107 k
108 l
109 m
110 n
111 o
112 p
113 q
114 r
115 s
116 t
117 u
118 v
119 w
120 x
121 y
122 z
123 {
124 |
125 }
126 ~
127 
128 €
129 
130 ‚
131 ƒ
132 „
133 …
134 †
135 ‡
136 ˆ
137 ‰
138 Š
139 ‹
140 Œ
141 
142 Ž
143 
144 
145 ‘
146 ’
147 “
148 ”
149 •
150 –
151 —
152 ˜
153 ™
154 š
155 ›
156 œ
157 
158 ž
159 Ÿ
160  
161 ¡
162 ¢
163 £
164 ¤
165 ¥
166 ¦
167 §
168 ¨
169 ©
170 ª
171 «
172 ¬
173 ­
174 ®
175 ¯
176 °
177 ±
178 ²
179 ³
180 ´
181 µ
182 ¶
183 ·
184 ¸
185 ¹
186 º
187 »
188 ¼
189 ½
190 ¾
191 ¿
192 À
193 Á
194 Â
195 Ã
196 Ä
197 Å
198 Æ
199 Ç
200 È
201 É
202 Ê
203 Ë
204 Ì
205 Í
206 Î
207 Ï
208 Ð
209 Ñ
210 Ò
211 Ó
212 Ô
213 Õ
214 Ö
215 ×
216 Ø
217 Ù
218 Ú
219 Û
220 Ü
221 Ý
222 Þ
223 ß
224 à
225 á
226 â
227 ã
228 ä
229 å
230 æ
231 ç
232 è
233 é
234 ê
235 ë
236 ì
237 í
238 î
239 ï
240 ð
241 ñ
242 ò
243 ó
244 ô
245 õ
246 ö
247 ÷
248 ø
249 ù
250 ú
251 û
252 ü
253 ý
254 þ
255 ÿ
256 Ā
257 ā
258 Ă
259 ă
260 Ą
261 ą
262 Ć
263 ć
264 Ĉ
265 ĉ
266 Ċ
267 ċ
268 Č
269 č
270 Ď
271 ď
272 Đ
273 đ
274 Ē
275 ē
276 Ĕ
277 ĕ
278 Ė
279 ė
280 Ę
281 ę
282 Ě
283 ě
284 Ĝ
285 ĝ
286 Ğ
287 ğ
288 Ġ
289 ġ
290 Ģ
291 ģ
292 Ĥ
293 ĥ
294 Ħ
295 ħ
296 Ĩ
297 ĩ
298 Ī
299 ī
In [150]:
x = "Paulina, mielonka, Jagosia, Paulina, Ktosia"
x.startswith("Paulinka")
Out[150]:
True
In [151]:
x.count("Paulinka")
Out[151]:
2
In [152]:
x.find("mielonka")
Out[152]:
10
In [153]:
x.rfind("Paul")
Out[153]:
29
In [1]:
x.replace("Paul","PAUL")
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
Cell In[1], line 1
----> 1 x.replace("Paul","PAUL")

NameError: name 'x' is not defined
In [155]:
x.strip()
Out[155]:
'Paulinka, mielonka, Jagosia, Paulinka, Ktosia'
In [156]:
x[1:10].strip()
Out[156]:
'aulinka,'
In [157]:
pip install statsmodels
Requirement already satisfied: statsmodels in c:\users\igors\miniconda3\envs\igorpython\lib\site-packages (0.13.2)
Requirement already satisfied: patsy>=0.5.2 in c:\users\igors\miniconda3\envs\igorpython\lib\site-packages (from statsmodels) (0.5.2)
Requirement already satisfied: pandas>=0.25 in c:\users\igors\miniconda3\envs\igorpython\lib\site-packages (from statsmodels) (1.4.1)
Requirement already satisfied: numpy>=1.17 in c:\users\igors\miniconda3\envs\igorpython\lib\site-packages (from statsmodels) (1.21.5)
Requirement already satisfied: packaging>=21.3 in c:\users\igors\miniconda3\envs\igorpython\lib\site-packages (from statsmodels) (21.3)
Requirement already satisfied: scipy>=1.3 in c:\users\igors\miniconda3\envs\igorpython\lib\site-packages (from statsmodels) (1.8.1)
Requirement already satisfied: pyparsing!=3.0.5,>=2.0.2 in c:\users\igors\miniconda3\envs\igorpython\lib\site-packages (from packaging>=21.3->statsmodels) (3.0.4)
Requirement already satisfied: pytz>=2020.1 in c:\users\igors\miniconda3\envs\igorpython\lib\site-packages (from pandas>=0.25->statsmodels) (2021.3)
Requirement already satisfied: python-dateutil>=2.8.1 in c:\users\igors\miniconda3\envs\igorpython\lib\site-packages (from pandas>=0.25->statsmodels) (2.8.2)
Requirement already satisfied: six in c:\users\igors\miniconda3\envs\igorpython\lib\site-packages (from patsy>=0.5.2->statsmodels) (1.16.0)
Note: you may need to restart the kernel to use updated packages.
In [ ]:
 
In [ ]:
 
In [160]:
"a ogura".title()
Out[160]:
'A Ogura'
In [ ]:
 
In [162]:
"oDWRTONIE".swapcase()
Out[162]:
'Odwrtonie'
In [163]:
"Igor".isalpha()
Out[163]:
True
In [164]:
x = "Przed whyswietleniem tekstu nierzadko bedziemy musieli go zawinac, czyli podzielic na podnapisu tak aby kazdy z nich - rpretezntujac wowczas jeden wiersz mial dlugosc nie zwieksza niz szerokosc strony"
x
Out[164]:
'Przed whyswietleniem tekstu nierzadko bedziemy musieli go zawinac, czyli podzielic na podnapisu tak aby kazdy z nich - rpretezntujac wowczas jeden wiersz mial dlugosc nie zwieksza niz szerokosc strony'
In [165]:
xw = textwrap.wrap(x,40)
xw
Out[165]:
['Przed whyswietleniem tekstu nierzadko',
 'bedziemy musieli go zawinac, czyli',
 'podzielic na podnapisu tak aby kazdy z',
 'nich - rpretezntujac wowczas jeden',
 'wiersz mial dlugosc nie zwieksza niz',
 'szerokosc strony']
In [166]:
xs = x.split()
xs
Out[166]:
['Przed',
 'whyswietleniem',
 'tekstu',
 'nierzadko',
 'bedziemy',
 'musieli',
 'go',
 'zawinac,',
 'czyli',
 'podzielic',
 'na',
 'podnapisu',
 'tak',
 'aby',
 'kazdy',
 'z',
 'nich',
 '-',
 'rpretezntujac',
 'wowczas',
 'jeden',
 'wiersz',
 'mial',
 'dlugosc',
 'nie',
 'zwieksza',
 'niz',
 'szerokosc',
 'strony']
In [167]:
print("\n".join(xw))
Przed whyswietleniem tekstu nierzadko
bedziemy musieli go zawinac, czyli
podzielic na podnapisu tak aby kazdy z
nich - rpretezntujac wowczas jeden
wiersz mial dlugosc nie zwieksza niz
szerokosc strony
In [168]:
print(" ".join(xs))
Przed whyswietleniem tekstu nierzadko bedziemy musieli go zawinac, czyli podzielic na podnapisu tak aby kazdy z nich - rpretezntujac wowczas jeden wiersz mial dlugosc nie zwieksza niz szerokosc strony
In [169]:
textwrap.shorten(x,60)
Out[169]:
'Przed whyswietleniem tekstu nierzadko bedziemy musieli [...]'
In [170]:
textwrap.shorten(x,60,placeholder=" [ZOBACZ]")
Out[170]:
'Przed whyswietleniem tekstu nierzadko bedziemy [ZOBACZ]'
In [171]:
p = re.compile("ni",re.IGNORECASE)
p
Out[171]:
re.compile(r'ni', re.IGNORECASE|re.UNICODE)
In [172]:
p.findall("Ni! Ni, ni! Ni-kt ni-jak. Kim oni są?")
Out[172]:
['Ni', 'Ni', 'ni', 'Ni', 'ni', 'ni']
In [173]:
p = re.compile("ni*") #co najmniej n
p.findall("ni! ninini! nnnniiii! n n nu!")
Out[173]:
['ni', 'ni', 'ni', 'ni', 'n', 'n', 'n', 'niiii', 'n', 'n', 'n']
In [174]:
p = re.compile("ni+") #co najmniej n i jedno chociaż i
p.findall("ni! ninini! nnnniiii! n n nu!")
Out[174]:
['ni', 'ni', 'ni', 'ni', 'niiii']
In [175]:
p = re.compile("(?:ni)+") #co najmniej jedno ni
p.findall("ni! ninini! nnnniiii! n n nu!")
Out[175]:
['ni', 'ninini', 'ni']
In [176]:
p = re.compile("[abc][def]")
p.findall("ad ae af bd be cd ce ale nie ab, ac, de i fe")
Out[176]:
['ad', 'ae', 'af', 'bd', 'be', 'cd', 'ce']
In [177]:
p = re.compile("[4-8]+")
p.findall("44567,88546,4657, ale nie 321 czy 999")
Out[177]:
['44567', '88546', '4657']
In [178]:
p = re.compile("[^0-9]+")
p.findall("defghi ddaaee zzz 123 987 54bbb33")
Out[178]:
['defghi ddaaee zzz ', ' ', ' ', 'bbb']
In [179]:
p = re.compile("\d{3}-\d{3}-\d{3}")
p.findall("999-111-998 ale nie 99-123-233")
Out[179]:
['999-111-998']
In [180]:
p = re.compile(r"\bni\b", re.IGNORECASE)
p.findall("Ni! Nikt nie mówi: ni do st")
Out[180]:
['Ni', 'ni']
In [181]:
p = re.compile("ni", re.IGNORECASE)
w = p.search("nsii ma ni!")
w.start(), w.end(), w.group(), w.span()
Out[181]:
(8, 10, 'ni', (8, 10))
In [182]:
w = re.finditer(r"\d{3}-\d{3}-\d{3}", "Mój numer to 123-456-789, Twoj to 123-423-222, Zofa 12-242-111, a jego to 111-111-111")

for i in w:
    print((i.start(), i.group(), i.span()))
(13, '123-456-789', (13, 24))
(34, '123-423-222', (34, 45))
(74, '111-111-111', (74, 85))
In [183]:
re.split("[-./ ]", "29.08.1999 29-08-1999 29/08/1999")
Out[183]:
['29', '08', '1999', '29', '08', '1999', '29', '08', '1999']
In [184]:
re.sub("Jorge Lorenzo","Valentino Rossi","Jorge Lorenzo mistrzem świata 2015")
Out[184]:
'Valentino Rossi mistrzem świata 2015'
In [185]:
p = re.compile(r"(\d+),\s*(\d+),\s*(\d+)")
w = p.finditer("1,22, 333; a,2,b,c; ni,5,44,3,2,1")
In [186]:
for i in w:
    print( i.group(0), i.group(1), i.group(2), i.group(3))
1,22, 333 1 22 333
5,44,3 5 44 3
In [187]:
liczby = "123-123-123 456-654-456 210-012-211"
for i in re.finditer(r"(\d+)-\1", liczby):
    print(i.group())
123-123
6-6
4-4
0-0
2-2
In [188]:
nap = "Valentino Rossi, Pecco Bagnaia, Fabio Quartararo"
str.partition(nap, ",")
Out[188]:
('Valentino Rossi', ',', ' Pecco Bagnaia, Fabio Quartararo')
In [189]:
help(str.join)
Help on method_descriptor:

join(self, iterable, /)
    Concatenate any number of strings.
    
    The string whose method is called is inserted in between each given string.
    The result is returned as a new string.
    
    Example: '.'.join(['ab', 'pq', 'rs']) -> 'ab.pq.rs'

In [190]:
tab=pd.read_excel("C:/Users/igors/Downloads/Zadanie-Mlodszy-analityk-danych.xlsx")
In [191]:
tab
Out[191]:
Osoba Data Zespół Wskaźnik 1 Cel 1 Wskaźnik 2 Cel 2 Wskaźnik 3 Cel 3 Wskaźnik 4 Cel 4
0 Osoba 1 2020-07-01 A 21 21.5 1 9.8 0 4.9 0 6.1
1 Osoba 2 2020-07-01 A 21 21.5 11 9.8 0 4.9 6 6.1
2 Osoba 3 2020-07-01 A 33 17.6 7 8.0 1 4.0 5 5.0
3 Osoba 4 2020-07-01 A 21 21.5 6 9.8 1 4.9 10 6.1
4 Osoba 5 2020-07-01 A 12 21.5 4 9.8 0 4.9 4 6.1
... ... ... ... ... ... ... ... ... ... ... ...
160 Osoba 29 2020-11-01 C 4 17.6 0 8.0 0 4.0 0 5.0
161 Osoba 30 2020-11-01 C 5 14.4 0 6.6 0 3.3 0 4.1
162 Osoba 31 2020-11-01 C 7 17.6 3 8.0 0 4.0 0 5.0
163 Osoba 32 2020-11-01 C 0 14.4 0 6.6 0 3.3 1 4.1
164 Osoba 33 2020-11-01 C 5 8.6 0 4.9 0 0.8 0 2.8

165 rows × 11 columns

In [192]:
tab.describe()
Out[192]:
Wskaźnik 1 Cel 1 Wskaźnik 2 Cel 2 Wskaźnik 3 Cel 3 Wskaźnik 4 Cel 4
count 165.000000 165.000000 165.000000 165.000000 165.000000 165.000000 165.000000 165.000000
mean 7.357576 16.398788 1.848485 7.040606 0.103030 2.798182 2.715152 3.977576
std 9.675183 4.655288 3.053599 3.098365 0.342591 1.436182 3.579764 2.111708
min 0.000000 4.400000 0.000000 1.500000 0.000000 0.700000 0.000000 0.000000
25% 0.000000 14.400000 0.000000 4.000000 0.000000 1.600000 0.000000 1.900000
50% 3.000000 17.600000 0.000000 8.000000 0.000000 2.400000 1.000000 4.100000
75% 11.000000 20.900000 3.000000 9.800000 0.000000 4.000000 4.000000 6.100000
max 51.000000 25.500000 16.000000 14.700000 2.000000 4.900000 17.000000 8.500000
In [193]:
tab.Zespół.describe()
Out[193]:
count     165
unique      3
top         C
freq       75
Name: Zespół, dtype: object
In [ ]:
 
In [194]:
pd.pivot_table(tab, values=["Cel 1", "Wskaźnik 1", "Cel 2", "Wskaźnik 2", "Cel 3", "Wskaźnik 3","Cel 4", "Wskaźnik 4"],index=["Data", "Zespół"], aggfunc="mean")
Out[194]:
Cel 1 Cel 2 Cel 3 Cel 4 Wskaźnik 1 Wskaźnik 2 Wskaźnik 3 Wskaźnik 4
Data Zespół
2020-07-01 A 18.444444 8.400000 4.200000 5.233333 24.111111 6.222222 0.333333 4.555556
B 17.044444 6.966667 3.100000 3.655556 1.111111 4.888889 0.333333 3.777778
C 17.050000 5.700000 2.841667 2.950000 7.666667 0.333333 0.000000 1.000000
2020-08-01 A 18.444444 8.400000 4.200000 5.233333 15.111111 3.444444 0.000000 5.333333
B 16.688889 7.622222 3.055556 3.855556 1.555556 2.555556 0.333333 2.666667
C 17.206667 5.700000 2.673333 2.733333 3.800000 0.400000 0.000000 0.533333
2020-09-01 A 18.444444 8.400000 4.200000 5.233333 13.111111 2.666667 0.222222 5.666667
B 16.688889 7.622222 3.055556 3.855556 1.222222 1.777778 0.000000 3.555556
C 18.110526 6.305263 3.010526 3.205263 9.000000 0.263158 0.000000 0.526316
2020-10-01 A 18.322222 10.555556 1.733333 6.077778 17.000000 5.111111 0.444444 7.555556
B 13.022222 6.455556 1.500000 3.466667 5.000000 1.555556 0.111111 3.666667
C 13.371429 5.364286 2.678571 3.600000 5.571429 0.500000 0.000000 0.857143
2020-11-01 A 18.322222 10.555556 1.733333 6.077778 6.666667 2.222222 0.111111 4.888889
B 13.022222 6.455556 1.500000 3.466667 2.000000 0.555556 0.000000 2.444444
C 13.053333 5.333333 2.553333 3.546667 2.266667 0.266667 0.000000 0.600000
In [195]:
tab.groupby(["Zespół"]).mean()
Out[195]:
Wskaźnik 1 Cel 1 Wskaźnik 2 Cel 2 Wskaźnik 3 Cel 3 Wskaźnik 4 Cel 4
Zespół
A 15.200000 18.395556 3.933333 9.262222 0.222222 3.213333 5.600000 5.571111
B 2.177778 15.293333 2.266667 7.024444 0.155556 2.442222 3.222222 3.660000
C 5.760000 15.864000 0.346667 5.717333 0.000000 2.762667 0.680000 3.212000
In [196]:
tab["CelW1%"]=tab.iloc[:,3:4].values/tab.iloc[:,4:5].values
tab["CelW2%"]=tab.iloc[:,5:6].values/tab.iloc[:,6:7].values
tab["CelW3%"]=tab.iloc[:,7:8].values/tab.iloc[:,8:9].values
tab["CelW4%"]=tab.iloc[:,9:10].values/tab.iloc[:,10:11].values
C:\Users\igors\AppData\Local\Temp/ipykernel_12268/3385779482.py:4: RuntimeWarning: divide by zero encountered in true_divide
  tab["CelW4%"]=tab.iloc[:,9:10].values/tab.iloc[:,10:11].values
C:\Users\igors\AppData\Local\Temp/ipykernel_12268/3385779482.py:4: RuntimeWarning: invalid value encountered in true_divide
  tab["CelW4%"]=tab.iloc[:,9:10].values/tab.iloc[:,10:11].values
In [197]:
tab
Out[197]:
Osoba Data Zespół Wskaźnik 1 Cel 1 Wskaźnik 2 Cel 2 Wskaźnik 3 Cel 3 Wskaźnik 4 Cel 4 CelW1% CelW2% CelW3% CelW4%
0 Osoba 1 2020-07-01 A 21 21.5 1 9.8 0 4.9 0 6.1 0.976744 0.102041 0.000000 0.000000
1 Osoba 2 2020-07-01 A 21 21.5 11 9.8 0 4.9 6 6.1 0.976744 1.122449 0.000000 0.983607
2 Osoba 3 2020-07-01 A 33 17.6 7 8.0 1 4.0 5 5.0 1.875000 0.875000 0.250000 1.000000
3 Osoba 4 2020-07-01 A 21 21.5 6 9.8 1 4.9 10 6.1 0.976744 0.612245 0.204082 1.639344
4 Osoba 5 2020-07-01 A 12 21.5 4 9.8 0 4.9 4 6.1 0.558140 0.408163 0.000000 0.655738
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
160 Osoba 29 2020-11-01 C 4 17.6 0 8.0 0 4.0 0 5.0 0.227273 0.000000 0.000000 0.000000
161 Osoba 30 2020-11-01 C 5 14.4 0 6.6 0 3.3 0 4.1 0.347222 0.000000 0.000000 0.000000
162 Osoba 31 2020-11-01 C 7 17.6 3 8.0 0 4.0 0 5.0 0.397727 0.375000 0.000000 0.000000
163 Osoba 32 2020-11-01 C 0 14.4 0 6.6 0 3.3 1 4.1 0.000000 0.000000 0.000000 0.243902
164 Osoba 33 2020-11-01 C 5 8.6 0 4.9 0 0.8 0 2.8 0.581395 0.000000 0.000000 0.000000

165 rows × 15 columns

In [198]:
m1 = tab.loc[tab.Data == "2020-07-01"]
m2 = tab.loc[tab.Data == "2020-08-01"]
m3 = tab.loc[tab.Data == "2020-09-01"]
m4 = tab.loc[tab.Data == "2020-10-01"]
m5 = tab.loc[tab.Data == "2020-11-01"]
In [199]:
m1.sort_values(by="CelW1%", ascending=False)
Out[199]:
Osoba Data Zespół Wskaźnik 1 Cel 1 Wskaźnik 2 Cel 2 Wskaźnik 3 Cel 3 Wskaźnik 4 Cel 4 CelW1% CelW2% CelW3% CelW4%
5 Osoba 6 2020-07-01 A 37 12.8 5 5.8 0 2.9 4 3.6 2.890625 0.862069 0.000000 1.111111
6 Osoba 7 2020-07-01 A 38 17.6 4 8.0 0 4.0 4 5.0 2.159091 0.500000 0.000000 0.800000
28 Osoba 29 2020-07-01 C 34 17.6 0 8.0 0 4.0 0 5.0 1.931818 0.000000 0.000000 0.000000
2 Osoba 3 2020-07-01 A 33 17.6 7 8.0 1 4.0 5 5.0 1.875000 0.875000 0.250000 1.000000
7 Osoba 8 2020-07-01 A 20 17.6 12 8.0 1 4.0 8 5.0 1.136364 1.500000 0.250000 1.600000
0 Osoba 1 2020-07-01 A 21 21.5 1 9.8 0 4.9 0 6.1 0.976744 0.102041 0.000000 0.000000
1 Osoba 2 2020-07-01 A 21 21.5 11 9.8 0 4.9 6 6.1 0.976744 1.122449 0.000000 0.983607
3 Osoba 4 2020-07-01 A 21 21.5 6 9.8 1 4.9 10 6.1 0.976744 0.612245 0.204082 1.639344
8 Osoba 9 2020-07-01 A 14 14.4 6 6.6 0 3.3 0 4.1 0.972222 0.909091 0.000000 0.000000
29 Osoba 30 2020-07-01 C 17 17.6 0 8.0 0 4.0 2 5.0 0.965909 0.000000 0.000000 0.400000
26 Osoba 27 2020-07-01 C 13 17.6 0 8.0 0 4.0 0 5.0 0.738636 0.000000 0.000000 0.000000
20 Osoba 21 2020-07-01 C 10 17.6 0 4.0 0 2.0 0 1.3 0.568182 0.000000 0.000000 0.000000
4 Osoba 5 2020-07-01 A 12 21.5 4 9.8 0 4.9 4 6.1 0.558140 0.408163 0.000000 0.655738
27 Osoba 28 2020-07-01 C 11 21.5 1 9.8 0 4.9 6 6.1 0.511628 0.102041 0.000000 0.983607
11 Osoba 12 2020-07-01 B 4 17.6 14 8.0 0 4.0 8 5.0 0.227273 1.750000 0.000000 1.600000
16 Osoba 17 2020-07-01 B 4 17.6 0 4.0 0 2.0 3 1.3 0.227273 0.000000 0.000000 2.307692
25 Osoba 26 2020-07-01 C 4 21.5 3 9.8 0 4.9 2 6.1 0.186047 0.306122 0.000000 0.327869
18 Osoba 19 2020-07-01 C 2 14.4 0 3.3 0 1.6 0 1.1 0.138889 0.000000 0.000000 0.000000
17 Osoba 18 2020-07-01 B 1 14.4 0 3.3 0 1.6 0 1.1 0.069444 0.000000 0.000000 0.000000
22 Osoba 23 2020-07-01 C 1 14.4 0 3.3 0 1.6 0 1.1 0.069444 0.000000 0.000000 0.000000
10 Osoba 11 2020-07-01 B 1 21.5 16 9.8 1 4.9 11 6.1 0.046512 1.632653 0.204082 1.803279
21 Osoba 22 2020-07-01 C 0 17.6 0 4.0 0 2.0 2 1.3 0.000000 0.000000 0.000000 1.538462
19 Osoba 20 2020-07-01 C 0 17.6 0 4.0 0 2.0 0 1.3 0.000000 0.000000 0.000000 0.000000
23 Osoba 24 2020-07-01 C 0 14.4 0 3.3 0 1.6 0 1.1 0.000000 0.000000 0.000000 0.000000
24 Osoba 25 2020-07-01 C 0 12.8 0 2.9 0 1.5 0 1.0 0.000000 0.000000 0.000000 0.000000
9 Osoba 10 2020-07-01 B 0 14.4 3 6.6 0 3.3 2 4.1 0.000000 0.454545 0.000000 0.487805
14 Osoba 15 2020-07-01 B 0 14.4 0 6.6 0 1.6 0 2.1 0.000000 0.000000 0.000000 0.000000
13 Osoba 14 2020-07-01 B 0 21.5 4 9.8 0 4.9 4 6.1 0.000000 0.408163 0.000000 0.655738
12 Osoba 13 2020-07-01 B 0 17.6 7 8.0 2 4.0 6 5.0 0.000000 0.875000 0.500000 1.200000
15 Osoba 16 2020-07-01 B 0 14.4 0 6.6 0 1.6 0 2.1 0.000000 0.000000 0.000000 0.000000
In [200]:
wyk = tab.groupby(["Zespół","Data"]).mean()[["CelW1%","CelW2%","CelW3%","CelW4%"]]
wyk
Out[200]:
CelW1% CelW2% CelW3% CelW4%
Zespół Data
A 2020-07-01 1.391297 0.765673 0.078231 0.865533
2020-08-01 0.847948 0.405773 0.000000 1.009067
2020-09-01 0.777557 0.336944 0.060990 1.085003
2020-10-01 1.059240 0.514693 0.217593 1.448589
2020-11-01 0.487545 0.246255 0.138889 0.787537
B 2020-07-01 0.063389 0.568929 0.078231 0.894946
2020-08-01 0.108025 0.310426 0.089226 0.502146
2020-09-01 0.079780 0.218306 0.000000 0.711458
2020-10-01 0.733025 0.179854 0.055556 inf
2020-11-01 0.192463 0.187149 0.000000 NaN
C 2020-07-01 0.425879 0.034014 0.000000 0.270828
2020-08-01 0.218675 0.054216 0.000000 0.275957
2020-09-01 0.460582 0.037431 0.000000 0.308770
2020-10-01 0.426026 0.125729 0.000000 0.354797
2020-11-01 0.158171 0.066667 0.000000 0.274960
In [201]:
import matplotlib.pyplot as plt
In [202]:
height = wyk["CelW1%"]
bars = wyk["Data"]

 
plt.bar(bars, height)
plt.show()
---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)
~\miniconda3\envs\igorpython\lib\site-packages\pandas\core\indexes\base.py in get_loc(self, key, method, tolerance)
   3620             try:
-> 3621                 return self._engine.get_loc(casted_key)
   3622             except KeyError as err:

~\miniconda3\envs\igorpython\lib\site-packages\pandas\_libs\index.pyx in pandas._libs.index.IndexEngine.get_loc()

~\miniconda3\envs\igorpython\lib\site-packages\pandas\_libs\index.pyx in pandas._libs.index.IndexEngine.get_loc()

pandas\_libs\hashtable_class_helper.pxi in pandas._libs.hashtable.PyObjectHashTable.get_item()

pandas\_libs\hashtable_class_helper.pxi in pandas._libs.hashtable.PyObjectHashTable.get_item()

KeyError: 'Data'

The above exception was the direct cause of the following exception:

KeyError                                  Traceback (most recent call last)
~\AppData\Local\Temp/ipykernel_12268/4161318286.py in <module>
      1 height = wyk["CelW1%"]
----> 2 bars = wyk["Data"]
      3 
      4 
      5 plt.bar(bars, height)

~\miniconda3\envs\igorpython\lib\site-packages\pandas\core\frame.py in __getitem__(self, key)
   3503             if self.columns.nlevels > 1:
   3504                 return self._getitem_multilevel(key)
-> 3505             indexer = self.columns.get_loc(key)
   3506             if is_integer(indexer):
   3507                 indexer = [indexer]

~\miniconda3\envs\igorpython\lib\site-packages\pandas\core\indexes\base.py in get_loc(self, key, method, tolerance)
   3621                 return self._engine.get_loc(casted_key)
   3622             except KeyError as err:
-> 3623                 raise KeyError(key) from err
   3624             except TypeError:
   3625                 # If we have a listlike key, _check_indexing_error will raise

KeyError: 'Data'
In [10]:
import io, os.path, glob, tempfile, re, textwrap
In [203]:
import pickle, json, requests, urllib
In [204]:
import lxml.html, cssselect, html5lib
In [205]:
import numpy as np
import pandas as pd
In [206]:
os.path.expanduser("~")
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
~\AppData\Local\Temp/ipykernel_12268/3717292399.py in <module>
----> 1 os.path.expanduser("~")

NameError: name 'os' is not defined
In [ ]:
os.getcwd()
In [ ]:
#listing plików
sciezka = os.path.join(os.getcwd(), "Downloads", "*.csv")
glob.glob(sciezka)
In [ ]:
pliki = os.listdir("C:\\Users\\igors\\Downloads")
pliki = [os.path.join("C:\\Users\\igors\\Downloads", plik) for plik in pliki if str.endswith(plik, "csv")]
pliki
In [ ]:
sum([os.path.getsize(plik) for plik in pliki])
In [207]:
f=open("C:\\Users\\igors\\Downloads\\artificial_data.csv")
print(f)
<_io.TextIOWrapper name='C:\\Users\\igors\\Downloads\\artificial_data.csv' mode='r' encoding='cp1250'>
In [208]:
sciezka = os.path.join(os.getcwd(),"Downloads","*.txt")
glob.glob(sciezka)
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
~\AppData\Local\Temp/ipykernel_12268/484196276.py in <module>
----> 1 sciezka = os.path.join(os.getcwd(),"Downloads","*.txt")
      2 glob.glob(sciezka)

NameError: name 'os' is not defined
In [209]:
bny = open("C:\\Users\\igors\\Downloads\\łotwa.txt")
print(bny)
<_io.TextIOWrapper name='C:\\Users\\igors\\Downloads\\łotwa.txt' mode='r' encoding='cp1250'>
In [210]:
f.read()
Out[210]:
'"","time","prices","quantities","prodID","retID"\n"1",2019-12-23,21.22,291,1,1\n"2",2019-12-16,20.26,207,2,1\n"3",2019-12-26,20.33,420,3,1\n"4",2019-12-03,20.87,300,4,1\n"5",2019-12-28,20.64,918,5,1\n"6",2019-12-02,20.33,228,6,1\n"7",2019-12-29,19.37,164,7,1\n"8",2019-12-03,19.18,295,8,1\n"9",2019-12-06,19.68,339,9,1\n"10",2019-12-31,20.41,177,10,1\n"11",2019-12-31,20.43,205,11,1\n"12",2019-12-26,20.55,249,12,1\n"13",2019-12-12,19.35,333,13,1\n"14",2019-12-24,19.64,284,14,1\n"15",2019-12-26,19.75,294,15,1\n"16",2019-12-13,20.37,243,16,1\n"17",2019-12-31,19.56,241,17,1\n"18",2019-12-09,20.76,484,18,1\n"19",2019-12-12,20.64,512,19,1\n"20",2019-12-03,20.24,254,20,1\n"21",2019-12-21,19.69,194,21,1\n"22",2019-12-26,20.9,412,22,1\n"23",2019-12-30,19.65,242,23,1\n"24",2019-12-29,19.32,167,24,1\n"25",2019-12-27,20.98,364,25,1\n"26",2019-12-06,19.61,608,26,1\n"27",2019-12-31,19.5,526,27,1\n"28",2019-12-30,20.76,160,28,1\n"29",2019-12-30,18.71,308,29,1\n"30",2019-12-07,20.38,232,30,1\n"31",2019-12-12,20.27,273,31,1\n"32",2019-12-26,19.83,448,32,1\n"33",2019-12-28,20.52,107,33,1\n"34",2019-12-08,19.98,226,34,1\n"35",2019-12-08,19.26,391,35,1\n"36",2019-12-19,20.14,639,36,1\n"37",2019-12-18,19.62,580,37,1\n"38",2019-12-10,20.75,302,38,1\n"39",2019-12-02,20.27,301,39,1\n"40",2019-12-01,20.98,193,40,1\n"41",2019-12-30,19.09,165,41,1\n"42",2019-12-05,20.2,181,42,1\n"43",2019-12-05,21.64,410,43,1\n"44",2019-12-08,21.11,374,44,1\n"45",2019-12-10,20.7,277,45,1\n"46",2019-12-16,20.27,346,46,1\n"47",2019-12-29,19.31,208,47,1\n"48",2019-12-28,20.48,262,48,1\n"49",2019-12-20,19.14,114,49,1\n"50",2019-12-05,20.46,318,50,1\n"51",2019-12-19,21.24,255,51,1\n"52",2019-12-19,19.75,176,52,1\n"53",2019-12-26,20.09,89,53,1\n"54",2019-12-16,20.31,294,54,1\n"55",2019-12-23,20.86,599,55,1\n"56",2019-12-28,20.65,179,56,1\n"57",2019-12-06,20.66,180,57,1\n"58",2019-12-27,20.61,216,58,1\n"59",2019-12-25,19.34,143,59,1\n"60",2019-12-13,20.61,614,60,1\n"61",2019-12-10,20.16,261,61,1\n"62",2019-12-25,20.87,427,62,1\n"63",2019-12-15,20.11,134,63,1\n"64",2019-12-04,19.96,188,64,1\n"65",2019-12-09,19.85,274,65,1\n"66",2019-12-31,19.8,373,66,1\n"67",2019-12-14,20.74,493,67,1\n"68",2019-12-31,20.44,255,68,1\n"69",2019-12-06,19.52,178,69,1\n"70",2019-12-31,20.52,101,70,1\n"71",2019-12-29,20.27,263,71,1\n"72",2019-12-02,19.46,524,72,1\n"73",2019-12-13,20.32,180,73,1\n"74",2019-12-07,20.82,292,74,1\n"75",2019-12-28,20.9,432,75,1\n"76",2019-12-02,19.91,369,76,1\n"77",2019-12-21,20.6,245,77,1\n"78",2019-12-03,19.66,282,78,1\n"79",2019-12-22,20.39,907,79,1\n"80",2019-12-21,19.95,300,80,1\n"81",2019-12-18,20.01,463,81,1\n"82",2019-12-24,20.52,171,82,1\n"83",2019-12-24,20.36,245,83,1\n"84",2019-12-11,20.87,342,84,1\n"85",2019-12-27,20.6,324,85,1\n"86",2019-12-20,20.2,304,86,1\n"87",2019-12-29,21.45,437,87,1\n"88",2019-12-02,20.68,419,88,1\n"89",2019-12-01,20.57,211,89,1\n"90",2019-12-13,19.69,335,90,1\n"91",2019-12-05,21,415,91,1\n"92",2019-12-04,19.71,144,92,1\n"93",2019-12-27,19.27,380,93,1\n"94",2019-12-20,20.62,679,94,1\n"95",2019-12-17,20.53,324,95,1\n"96",2019-12-11,20.32,387,96,1\n"97",2019-12-12,21.02,142,97,1\n"98",2019-12-09,20.78,246,98,1\n"99",2019-12-30,19.94,558,99,1\n"100",2019-12-13,21.24,322,100,1\n"101",2019-12-23,19.82,404,1,2\n"102",2019-12-16,19.79,233,2,2\n"103",2019-12-26,20.82,159,3,2\n"104",2019-12-03,21.07,229,4,2\n"105",2019-12-28,20.81,486,5,2\n"106",2019-12-02,20.85,244,6,2\n"107",2019-12-29,20.87,274,7,2\n"108",2019-12-03,20.76,130,8,2\n"109",2019-12-06,20.84,112,9,2\n"110",2019-12-31,19.81,144,10,2\n"111",2019-12-31,19.89,222,11,2\n"112",2019-12-26,20.38,244,12,2\n"113",2019-12-12,19.38,254,13,2\n"114",2019-12-24,20.67,56,14,2\n"115",2019-12-26,20.19,282,15,2\n"116",2019-12-13,21.46,227,16,2\n"117",2019-12-31,20.56,417,17,2\n"118",2019-12-09,20.75,368,18,2\n"119",2019-12-12,19.35,151,19,2\n"120",2019-12-03,19.31,244,20,2\n"121",2019-12-21,19.68,373,21,2\n"122",2019-12-26,20.62,151,22,2\n"123",2019-12-30,20.51,307,23,2\n"124",2019-12-29,20.29,201,24,2\n"125",2019-12-27,19.37,398,25,2\n"126",2019-12-06,19.23,593,26,2\n"127",2019-12-31,19.71,301,27,2\n"128",2019-12-30,20.02,307,28,2\n"129",2019-12-30,19.64,120,29,2\n"130",2019-12-07,20.43,113,30,2\n"131",2019-12-12,21.22,185,31,2\n"132",2019-12-26,21.41,400,32,2\n"133",2019-12-28,19.75,139,33,2\n"134",2019-12-08,19.04,115,34,2\n"135",2019-12-08,21.58,286,35,2\n"136",2019-12-19,20.57,192,36,2\n"137",2019-12-18,20.73,506,37,2\n"138",2019-12-10,20.66,333,38,2\n"139",2019-12-02,20.13,273,39,2\n"140",2019-12-01,19.81,265,40,2\n"141",2019-12-30,19.81,493,41,2\n"142",2019-12-05,21.32,213,42,2\n"143",2019-12-05,19.39,191,43,2\n"144",2019-12-08,21.43,249,44,2\n"145",2019-12-10,19.78,221,45,2\n"146",2019-12-16,20.84,446,46,2\n"147",2019-12-29,20.67,254,47,2\n"148",2019-12-28,20.43,403,48,2\n"149",2019-12-20,20.6,324,49,2\n"150",2019-12-05,19.89,257,50,2\n"151",2019-12-19,19.65,298,51,2\n"152",2019-12-19,19.71,195,52,2\n"153",2019-12-26,20.33,364,53,2\n"154",2019-12-16,19.98,308,54,2\n"155",2019-12-23,20.44,326,55,2\n"156",2019-12-28,20.71,316,56,2\n"157",2019-12-06,20.78,203,57,2\n"158",2019-12-27,21.55,527,58,2\n"159",2019-12-25,19.59,130,59,2\n"160",2019-12-13,19.97,539,60,2\n"161",2019-12-10,20.86,209,61,2\n"162",2019-12-25,21.51,138,62,2\n"163",2019-12-15,20.8,383,63,2\n"164",2019-12-04,19.6,204,64,2\n"165",2019-12-09,20.19,514,65,2\n"166",2019-12-31,20.6,407,66,2\n"167",2019-12-14,19.72,205,67,2\n"168",2019-12-31,20.1,276,68,2\n"169",2019-12-06,21.28,180,69,2\n"170",2019-12-31,19.96,194,70,2\n"171",2019-12-29,18.88,220,71,2\n"172",2019-12-02,19.47,255,72,2\n"173",2019-12-13,21.38,517,73,2\n"174",2019-12-07,19.98,375,74,2\n"175",2019-12-28,20.38,119,75,2\n"176",2019-12-02,20.46,170,76,2\n"177",2019-12-21,19.97,203,77,2\n"178",2019-12-03,20.49,230,78,2\n"179",2019-12-22,20.88,208,79,2\n"180",2019-12-21,19.65,205,80,2\n"181",2019-12-18,20.55,129,81,2\n"182",2019-12-24,20.83,320,82,2\n"183",2019-12-24,21.06,690,83,2\n"184",2019-12-11,20.98,274,84,2\n"185",2019-12-27,20.99,168,85,2\n"186",2019-12-20,18.89,501,86,2\n"187",2019-12-29,20.14,318,87,2\n"188",2019-12-02,19.85,144,88,2\n"189",2019-12-01,19.33,421,89,2\n"190",2019-12-13,21.03,179,90,2\n"191",2019-12-05,20.58,670,91,2\n"192",2019-12-04,20.55,537,92,2\n"193",2019-12-27,21.06,221,93,2\n"194",2019-12-20,20.36,234,94,2\n"195",2019-12-17,19.44,162,95,2\n"196",2019-12-11,20.63,145,96,2\n"197",2019-12-12,20.95,236,97,2\n"198",2019-12-09,20.53,181,98,2\n"199",2019-12-30,20.08,150,99,2\n"200",2019-12-13,20.91,421,100,2\n"201",2019-12-23,20.86,280,1,3\n"202",2019-12-16,20.55,253,2,3\n"203",2019-12-26,20.02,247,3,3\n"204",2019-12-03,20.99,285,4,3\n"205",2019-12-28,21.33,316,5,3\n"206",2019-12-02,20.37,343,6,3\n"207",2019-12-29,21.37,94,7,3\n"208",2019-12-03,19.34,299,8,3\n"209",2019-12-06,20.53,274,9,3\n"210",2019-12-31,20.28,287,10,3\n"211",2019-12-31,20.63,305,11,3\n"212",2019-12-26,20.61,133,12,3\n"213",2019-12-12,20.28,119,13,3\n"214",2019-12-24,20.31,197,14,3\n"215",2019-12-26,19.68,461,15,3\n"216",2019-12-13,21.24,464,16,3\n"217",2019-12-31,19.57,293,17,3\n"218",2019-12-09,20.34,159,18,3\n"219",2019-12-12,20.33,75,19,3\n"220",2019-12-03,19.95,292,20,3\n"221",2019-12-21,20.75,177,21,3\n"222",2019-12-26,21.54,194,22,3\n"223",2019-12-30,20.42,202,23,3\n"224",2019-12-29,20.58,269,24,3\n"225",2019-12-27,20.16,747,25,3\n"226",2019-12-06,20.48,199,26,3\n"227",2019-12-31,20.22,743,27,3\n"228",2019-12-30,19.27,316,28,3\n"229",2019-12-30,20.13,328,29,3\n"230",2019-12-07,20.92,148,30,3\n"231",2019-12-12,20.56,220,31,3\n"232",2019-12-26,19.6,140,32,3\n"233",2019-12-28,20.68,465,33,3\n"234",2019-12-08,20.04,244,34,3\n"235",2019-12-08,20.66,221,35,3\n"236",2019-12-19,19.86,201,36,3\n"237",2019-12-18,20.82,508,37,3\n"238",2019-12-10,19.29,223,38,3\n"239",2019-12-02,19.13,174,39,3\n"240",2019-12-01,20.6,366,40,3\n"241",2019-12-30,20.21,323,41,3\n"242",2019-12-05,19.77,596,42,3\n"243",2019-12-05,19.7,153,43,3\n"244",2019-12-08,20.54,94,44,3\n"245",2019-12-10,19.27,220,45,3\n"246",2019-12-16,19.63,392,46,3\n"247",2019-12-29,19.68,192,47,3\n"248",2019-12-28,21.41,231,48,3\n"249",2019-12-20,20.15,256,49,3\n"250",2019-12-05,19.87,187,50,3\n"251",2019-12-19,21.22,506,51,3\n"252",2019-12-19,20.53,482,52,3\n"253",2019-12-26,21.46,349,53,3\n"254",2019-12-16,19.33,301,54,3\n"255",2019-12-23,20.13,357,55,3\n"256",2019-12-28,20.77,329,56,3\n"257",2019-12-06,20.64,398,57,3\n"258",2019-12-27,21,290,58,3\n"259",2019-12-25,20.3,195,59,3\n"260",2019-12-13,19.65,301,60,3\n"261",2019-12-10,20.51,543,61,3\n"262",2019-12-25,21.35,198,62,3\n"263",2019-12-15,20.23,518,63,3\n"264",2019-12-04,20.72,245,64,3\n"265",2019-12-09,20.97,367,65,3\n"266",2019-12-31,20.38,219,66,3\n"267",2019-12-14,20.9,283,67,3\n"268",2019-12-31,20.19,159,68,3\n"269",2019-12-06,19.61,298,69,3\n"270",2019-12-31,20.05,470,70,3\n"271",2019-12-29,20.17,385,71,3\n"272",2019-12-02,19.94,364,72,3\n"273",2019-12-13,20.14,232,73,3\n"274",2019-12-07,21.14,284,74,3\n"275",2019-12-28,20.69,172,75,3\n"276",2019-12-02,20.23,258,76,3\n"277",2019-12-21,20.36,250,77,3\n"278",2019-12-03,19.62,455,78,3\n"279",2019-12-22,21,76,79,3\n"280",2019-12-21,20.49,354,80,3\n"281",2019-12-18,21.45,316,81,3\n"282",2019-12-24,19.7,378,82,3\n"283",2019-12-24,20.55,177,83,3\n"284",2019-12-11,19.85,240,84,3\n"285",2019-12-27,20.32,179,85,3\n"286",2019-12-20,20.41,238,86,3\n"287",2019-12-29,20.29,568,87,3\n"288",2019-12-02,20.86,1061,88,3\n"289",2019-12-01,19.39,302,89,3\n"290",2019-12-13,20.21,155,90,3\n"291",2019-12-05,21.18,276,91,3\n"292",2019-12-04,20.8,340,92,3\n"293",2019-12-27,19.38,171,93,3\n"294",2019-12-20,21.11,177,94,3\n"295",2019-12-17,20.01,909,95,3\n"296",2019-12-11,20.89,114,96,3\n"297",2019-12-12,19.49,497,97,3\n"298",2019-12-09,19.48,451,98,3\n"299",2019-12-30,20.76,445,99,3\n"300",2019-12-13,22.01,505,100,3\n"301",2019-12-23,21.99,717,1,4\n"302",2019-12-16,20.58,153,2,4\n"303",2019-12-26,19.52,513,3,4\n"304",2019-12-03,20.15,129,4,4\n"305",2019-12-28,19.88,354,5,4\n"306",2019-12-02,20.19,275,6,4\n"307",2019-12-29,20.72,193,7,4\n"308",2019-12-03,20.86,51,8,4\n"309",2019-12-06,20.71,232,9,4\n"310",2019-12-31,20.62,259,10,4\n"311",2019-12-31,20.21,249,11,4\n"312",2019-12-26,21.1,140,12,4\n"313",2019-12-12,20.34,158,13,4\n"314",2019-12-24,20.5,263,14,4\n"315",2019-12-26,21.06,347,15,4\n"316",2019-12-13,19.26,585,16,4\n"317",2019-12-31,20.51,85,17,4\n"318",2019-12-09,20.87,177,18,4\n"319",2019-12-12,19.74,143,19,4\n"320",2019-12-03,20.66,304,20,4\n"321",2019-12-21,20.67,163,21,4\n"322",2019-12-26,20.23,345,22,4\n"323",2019-12-30,20.31,515,23,4\n"324",2019-12-29,20.05,142,24,4\n"325",2019-12-27,19.81,97,25,4\n"326",2019-12-06,19.49,277,26,4\n"327",2019-12-31,20.66,359,27,4\n"328",2019-12-30,19.92,251,28,4\n"329",2019-12-30,19.46,416,29,4\n"330",2019-12-07,19.4,423,30,4\n"331",2019-12-12,21.79,320,31,4\n"332",2019-12-26,20.24,291,32,4\n"333",2019-12-28,19.68,249,33,4\n"334",2019-12-08,20.83,218,34,4\n"335",2019-12-08,19.71,454,35,4\n"336",2019-12-19,20.09,237,36,4\n"337",2019-12-18,19.45,207,37,4\n"338",2019-12-10,20.9,285,38,4\n"339",2019-12-02,19.15,730,39,4\n"340",2019-12-01,21.21,467,40,4\n"341",2019-12-30,21.46,141,41,4\n"342",2019-12-05,21.22,204,42,4\n"343",2019-12-05,19.74,296,43,4\n"344",2019-12-08,19.92,232,44,4\n"345",2019-12-10,20.86,174,45,4\n"346",2019-12-16,19.21,270,46,4\n"347",2019-12-29,19.45,463,47,4\n"348",2019-12-28,20.55,153,48,4\n"349",2019-12-20,20.76,867,49,4\n"350",2019-12-05,20.41,195,50,4\n"351",2019-12-19,19.87,222,51,4\n"352",2019-12-19,20.11,154,52,4\n"353",2019-12-26,20.51,316,53,4\n"354",2019-12-16,20.57,298,54,4\n"355",2019-12-23,18.59,377,55,4\n"356",2019-12-28,19.27,707,56,4\n"357",2019-12-06,19.59,230,57,4\n"358",2019-12-27,20.8,169,58,4\n"359",2019-12-25,19.68,297,59,4\n"360",2019-12-13,20.45,368,60,4\n"361",2019-12-10,20.09,574,61,4\n"362",2019-12-25,20.28,360,62,4\n"363",2019-12-15,19.94,223,63,4\n"364",2019-12-04,21.25,515,64,4\n"365",2019-12-09,20.55,110,65,4\n"366",2019-12-31,20.08,206,66,4\n"367",2019-12-14,21.09,304,67,4\n"368",2019-12-31,20.31,313,68,4\n"369",2019-12-06,20.55,378,69,4\n"370",2019-12-31,19.96,278,70,4\n"371",2019-12-29,20.33,224,71,4\n"372",2019-12-02,20.26,247,72,4\n"373",2019-12-13,21.11,418,73,4\n"374",2019-12-07,21.21,215,74,4\n"375",2019-12-28,21.23,417,75,4\n"376",2019-12-02,19.95,292,76,4\n"377",2019-12-21,20.38,355,77,4\n"378",2019-12-03,20.8,341,78,4\n"379",2019-12-22,20.07,218,79,4\n"380",2019-12-21,21.03,318,80,4\n"381",2019-12-18,20.41,420,81,4\n"382",2019-12-24,20.85,266,82,4\n"383",2019-12-24,21.13,363,83,4\n"384",2019-12-11,20.97,114,84,4\n"385",2019-12-27,20.47,198,85,4\n"386",2019-12-20,20.23,224,86,4\n"387",2019-12-29,19.47,514,87,4\n"388",2019-12-02,19.91,140,88,4\n"389",2019-12-01,20.14,112,89,4\n"390",2019-12-13,20.81,289,90,4\n"391",2019-12-05,19.45,336,91,4\n"392",2019-12-04,20.86,358,92,4\n"393",2019-12-27,20.31,210,93,4\n"394",2019-12-20,21.77,147,94,4\n"395",2019-12-17,20.9,342,95,4\n"396",2019-12-11,21.22,352,96,4\n"397",2019-12-12,20.61,190,97,4\n"398",2019-12-09,20.72,393,98,4\n"399",2019-12-30,21.78,234,99,4\n"400",2019-12-13,19.67,226,100,4\n"401",2019-12-23,19.81,180,1,5\n"402",2019-12-16,20.41,589,2,5\n"403",2019-12-26,20.34,437,3,5\n"404",2019-12-03,19.98,485,4,5\n"405",2019-12-28,21.03,260,5,5\n"406",2019-12-02,21.23,190,6,5\n"407",2019-12-29,19.78,762,7,5\n"408",2019-12-03,21.31,544,8,5\n"409",2019-12-06,20.32,461,9,5\n"410",2019-12-31,20.06,465,10,5\n"411",2019-12-31,21.71,187,11,5\n"412",2019-12-26,20.43,869,12,5\n"413",2019-12-12,20.91,356,13,5\n"414",2019-12-24,20.67,197,14,5\n"415",2019-12-26,21.51,369,15,5\n"416",2019-12-13,19.97,96,16,5\n"417",2019-12-31,19.8,324,17,5\n"418",2019-12-09,20.33,397,18,5\n"419",2019-12-12,19.88,213,19,5\n"420",2019-12-03,20.35,465,20,5\n"421",2019-12-21,19.6,320,21,5\n"422",2019-12-26,21.24,343,22,5\n"423",2019-12-30,19.31,283,23,5\n"424",2019-12-29,20.58,228,24,5\n"425",2019-12-27,20.92,319,25,5\n"426",2019-12-06,21.45,336,26,5\n"427",2019-12-31,19.99,135,27,5\n"428",2019-12-30,19.75,239,28,5\n"429",2019-12-30,20.8,481,29,5\n"430",2019-12-07,20.56,240,30,5\n"431",2019-12-12,20.55,107,31,5\n"432",2019-12-26,20.91,593,32,5\n"433",2019-12-28,19.42,284,33,5\n"434",2019-12-08,20.06,145,34,5\n"435",2019-12-08,21.62,285,35,5\n"436",2019-12-19,20.48,265,36,5\n"437",2019-12-18,20.63,136,37,5\n"438",2019-12-10,21.13,287,38,5\n"439",2019-12-02,19.89,376,39,5\n"440",2019-12-01,20.34,612,40,5\n"441",2019-12-30,19.41,207,41,5\n"442",2019-12-05,20.86,213,42,5\n"443",2019-12-05,19.82,212,43,5\n"444",2019-12-08,20,576,44,5\n"445",2019-12-10,20.86,197,45,5\n"446",2019-12-16,20.1,147,46,5\n"447",2019-12-29,20.24,371,47,5\n"448",2019-12-28,20.91,277,48,5\n"449",2019-12-20,19.49,262,49,5\n"450",2019-12-05,20.96,357,50,5\n"451",2019-12-19,20.96,265,51,5\n"452",2019-12-19,20.31,184,52,5\n"453",2019-12-26,19.86,199,53,5\n"454",2019-12-16,19.43,488,54,5\n"455",2019-12-23,20.76,155,55,5\n"456",2019-12-28,20.47,158,56,5\n"457",2019-12-06,19.96,171,57,5\n"458",2019-12-27,19.22,199,58,5\n"459",2019-12-25,20.65,153,59,5\n"460",2019-12-13,20.28,238,60,5\n"461",2019-12-10,21.46,359,61,5\n"462",2019-12-25,19.68,709,62,5\n"463",2019-12-15,19.65,256,63,5\n"464",2019-12-04,19.89,223,64,5\n"465",2019-12-09,20.46,379,65,5\n"466",2019-12-31,19.12,205,66,5\n"467",2019-12-14,20.16,341,67,5\n"468",2019-12-31,20.77,296,68,5\n"469",2019-12-06,20.61,359,69,5\n"470",2019-12-31,21.52,94,70,5\n"471",2019-12-29,20.35,114,71,5\n"472",2019-12-02,19.48,457,72,5\n"473",2019-12-13,19.64,203,73,5\n"474",2019-12-07,20.01,999,74,5\n"475",2019-12-28,20.19,588,75,5\n"476",2019-12-02,20.62,334,76,5\n"477",2019-12-21,21.07,537,77,5\n"478",2019-12-03,19.98,409,78,5\n"479",2019-12-22,21.38,315,79,5\n"480",2019-12-21,20.4,290,80,5\n"481",2019-12-18,20.56,395,81,5\n"482",2019-12-24,19.14,303,82,5\n"483",2019-12-24,21.01,191,83,5\n"484",2019-12-11,20.17,408,84,5\n"485",2019-12-27,19.95,142,85,5\n"486",2019-12-20,20.94,415,86,5\n"487",2019-12-29,18.86,526,87,5\n"488",2019-12-02,20.85,193,88,5\n"489",2019-12-01,20.85,334,89,5\n"490",2019-12-13,21.23,105,90,5\n"491",2019-12-05,20.48,166,91,5\n"492",2019-12-04,20.41,199,92,5\n"493",2019-12-27,21.81,187,93,5\n"494",2019-12-20,20.58,380,94,5\n"495",2019-12-17,21.04,157,95,5\n"496",2019-12-11,21.2,189,96,5\n"497",2019-12-12,19.93,172,97,5\n"498",2019-12-09,20.43,144,98,5\n"499",2019-12-30,19.47,266,99,5\n"500",2019-12-13,20.08,414,100,5\n"501",2019-12-23,19.75,332,1,6\n"502",2019-12-16,20.6,289,2,6\n"503",2019-12-26,20.13,94,3,6\n"504",2019-12-03,19.88,422,4,6\n"505",2019-12-28,19.98,235,5,6\n"506",2019-12-02,20.31,138,6,6\n"507",2019-12-29,20.59,128,7,6\n"508",2019-12-03,20.9,274,8,6\n"509",2019-12-06,19.88,118,9,6\n"510",2019-12-31,20.03,448,10,6\n"511",2019-12-31,19.99,369,11,6\n"512",2019-12-26,20.59,316,12,6\n"513",2019-12-12,19.79,176,13,6\n"514",2019-12-24,20.61,168,14,6\n"515",2019-12-26,20.37,645,15,6\n"516",2019-12-13,20.78,341,16,6\n"517",2019-12-31,19.31,260,17,6\n"518",2019-12-09,21.66,143,18,6\n"519",2019-12-12,20.52,502,19,6\n"520",2019-12-03,20.26,228,20,6\n"521",2019-12-21,20.34,173,21,6\n"522",2019-12-26,19.09,147,22,6\n"523",2019-12-30,20.5,408,23,6\n"524",2019-12-29,20.47,147,24,6\n"525",2019-12-27,20.38,385,25,6\n"526",2019-12-06,21.37,407,26,6\n"527",2019-12-31,20.02,425,27,6\n"528",2019-12-30,20.5,610,28,6\n"529",2019-12-30,20.89,299,29,6\n"530",2019-12-07,20.51,305,30,6\n"531",2019-12-12,20.3,385,31,6\n"532",2019-12-26,20.06,737,32,6\n"533",2019-12-28,20.38,241,33,6\n"534",2019-12-08,19.79,449,34,6\n"535",2019-12-08,20.07,144,35,6\n"536",2019-12-19,19.8,260,36,6\n"537",2019-12-18,20.47,225,37,6\n"538",2019-12-10,20.66,244,38,6\n"539",2019-12-02,19.82,268,39,6\n"540",2019-12-01,20.52,220,40,6\n"541",2019-12-30,20.44,641,41,6\n"542",2019-12-05,20.67,206,42,6\n"543",2019-12-05,21.88,418,43,6\n"544",2019-12-08,20.38,224,44,6\n"545",2019-12-10,20.75,149,45,6\n"546",2019-12-16,19.95,118,46,6\n"547",2019-12-29,19.58,833,47,6\n"548",2019-12-28,21.79,228,48,6\n"549",2019-12-20,20.63,235,49,6\n"550",2019-12-05,19.9,212,50,6\n"551",2019-12-19,20.16,348,51,6\n"552",2019-12-19,20.22,369,52,6\n"553",2019-12-26,20.97,169,53,6\n"554",2019-12-16,19.88,253,54,6\n"555",2019-12-23,20.97,403,55,6\n"556",2019-12-28,20.61,374,56,6\n"557",2019-12-06,20.79,137,57,6\n"558",2019-12-27,20.49,445,58,6\n"559",2019-12-25,20.35,306,59,6\n"560",2019-12-13,20.7,165,60,6\n"561",2019-12-10,18.82,415,61,6\n"562",2019-12-25,20.03,351,62,6\n"563",2019-12-15,21.02,312,63,6\n"564",2019-12-04,21.35,629,64,6\n"565",2019-12-09,20.51,288,65,6\n"566",2019-12-31,20.64,410,66,6\n"567",2019-12-14,21.01,367,67,6\n"568",2019-12-31,21.15,434,68,6\n"569",2019-12-06,19.99,158,69,6\n"570",2019-12-31,19.5,258,70,6\n"571",2019-12-29,20.85,309,71,6\n"572",2019-12-02,20.45,245,72,6\n"573",2019-12-13,20.56,195,73,6\n"574",2019-12-07,21.26,362,74,6\n"575",2019-12-28,21,219,75,6\n"576",2019-12-02,19.65,214,76,6\n"577",2019-12-21,20.69,227,77,6\n"578",2019-12-03,20.24,433,78,6\n"579",2019-12-22,20.19,188,79,6\n"580",2019-12-21,20.94,249,80,6\n"581",2019-12-18,21.16,230,81,6\n"582",2019-12-24,19.35,350,82,6\n"583",2019-12-24,20.42,191,83,6\n"584",2019-12-11,20.66,187,84,6\n"585",2019-12-27,20.2,188,85,6\n"586",2019-12-20,19.3,993,86,6\n"587",2019-12-29,19.22,339,87,6\n"588",2019-12-02,19.85,295,88,6\n"589",2019-12-01,20.44,719,89,6\n"590",2019-12-13,20.64,170,90,6\n"591",2019-12-05,20.94,135,91,6\n"592",2019-12-04,19.46,278,92,6\n"593",2019-12-27,19.85,245,93,6\n"594",2019-12-20,20.42,200,94,6\n"595",2019-12-17,19.79,254,95,6\n"596",2019-12-11,20.37,305,96,6\n"597",2019-12-12,19.95,286,97,6\n"598",2019-12-09,20.02,186,98,6\n"599",2019-12-30,20.46,217,99,6\n"600",2019-12-13,20.17,271,100,6\n"601",2019-12-23,21.59,306,1,7\n"602",2019-12-16,19.77,165,2,7\n"603",2019-12-26,20.81,254,3,7\n"604",2019-12-03,20.14,283,4,7\n"605",2019-12-28,20.37,132,5,7\n"606",2019-12-02,19.67,140,6,7\n"607",2019-12-29,20.99,231,7,7\n"608",2019-12-03,20.65,89,8,7\n"609",2019-12-06,21.25,285,9,7\n"610",2019-12-31,19.88,246,10,7\n"611",2019-12-31,19.95,300,11,7\n"612",2019-12-26,20.29,201,12,7\n"613",2019-12-12,19.73,344,13,7\n"614",2019-12-24,20.05,577,14,7\n"615",2019-12-26,19.81,162,15,7\n"616",2019-12-13,20.58,128,16,7\n"617",2019-12-31,20.56,297,17,7\n"618",2019-12-09,19.81,232,18,7\n"619",2019-12-12,21.22,172,19,7\n"620",2019-12-03,20.54,611,20,7\n"621",2019-12-21,19.66,131,21,7\n"622",2019-12-26,19.08,342,22,7\n"623",2019-12-30,20.45,394,23,7\n"624",2019-12-29,20.03,291,24,7\n"625",2019-12-27,21.05,340,25,7\n"626",2019-12-06,20.55,240,26,7\n"627",2019-12-31,20.34,104,27,7\n"628",2019-12-30,20.1,394,28,7\n"629",2019-12-30,19.33,275,29,7\n"630",2019-12-07,20.43,244,30,7\n"631",2019-12-12,20.79,232,31,7\n"632",2019-12-26,20.07,205,32,7\n"633",2019-12-28,20.73,271,33,7\n"634",2019-12-08,20.54,157,34,7\n"635",2019-12-08,21.11,367,35,7\n"636",2019-12-19,20.5,118,36,7\n"637",2019-12-18,20.48,325,37,7\n"638",2019-12-10,20.41,454,38,7\n"639",2019-12-02,19.9,212,39,7\n"640",2019-12-01,19.91,72,40,7\n"641",2019-12-30,19.84,457,41,7\n"642",2019-12-05,19.84,304,42,7\n"643",2019-12-05,21.02,255,43,7\n"644",2019-12-08,20.29,370,44,7\n"645",2019-12-10,19.77,347,45,7\n"646",2019-12-16,20.8,553,46,7\n"647",2019-12-29,20.19,352,47,7\n"648",2019-12-28,20.06,365,48,7\n"649",2019-12-20,20.3,456,49,7\n"650",2019-12-05,20.57,377,50,7\n"651",2019-12-19,20.4,323,51,7\n"652",2019-12-19,20.53,230,52,7\n"653",2019-12-26,19.05,290,53,7\n"654",2019-12-16,21.32,260,54,7\n"655",2019-12-23,20.72,281,55,7\n"656",2019-12-28,20.25,219,56,7\n"657",2019-12-06,20.14,315,57,7\n"658",2019-12-27,19.77,232,58,7\n"659",2019-12-25,20.48,152,59,7\n"660",2019-12-13,19.86,306,60,7\n"661",2019-12-10,20.22,163,61,7\n"662",2019-12-25,20.55,194,62,7\n"663",2019-12-15,20.42,377,63,7\n"664",2019-12-04,20.51,415,64,7\n"665",2019-12-09,19.63,493,65,7\n"666",2019-12-31,21.1,334,66,7\n"667",2019-12-14,21.09,382,67,7\n"668",2019-12-31,20.28,276,68,7\n"669",2019-12-06,20,89,69,7\n"670",2019-12-31,20.31,206,70,7\n"671",2019-12-29,20.22,706,71,7\n"672",2019-12-02,19.98,397,72,7\n"673",2019-12-13,19.45,141,73,7\n"674",2019-12-07,19.61,454,74,7\n"675",2019-12-28,20.44,418,75,7\n"676",2019-12-02,20.33,185,76,7\n"677",2019-12-21,19.18,151,77,7\n"678",2019-12-03,19.69,276,78,7\n"679",2019-12-22,19.52,111,79,7\n"680",2019-12-21,20.1,436,80,7\n"681",2019-12-18,20.26,252,81,7\n"682",2019-12-24,20.86,316,82,7\n"683",2019-12-24,20.14,233,83,7\n"684",2019-12-11,20.07,248,84,7\n"685",2019-12-27,20.43,293,85,7\n"686",2019-12-20,20.88,261,86,7\n"687",2019-12-29,19.42,215,87,7\n"688",2019-12-02,20.12,282,88,7\n"689",2019-12-01,19.28,298,89,7\n"690",2019-12-13,20.07,135,90,7\n"691",2019-12-05,20.21,257,91,7\n"692",2019-12-04,19.08,264,92,7\n"693",2019-12-27,19.69,313,93,7\n"694",2019-12-20,20.88,563,94,7\n"695",2019-12-17,21.56,239,95,7\n"696",2019-12-11,19.72,147,96,7\n"697",2019-12-12,20.06,492,97,7\n"698",2019-12-09,19.67,538,98,7\n"699",2019-12-30,20.13,234,99,7\n"700",2019-12-13,20.96,110,100,7\n"701",2019-12-23,19.89,178,1,8\n"702",2019-12-16,20.38,553,2,8\n"703",2019-12-26,21.28,632,3,8\n"704",2019-12-03,20.73,245,4,8\n"705",2019-12-28,21.15,326,5,8\n"706",2019-12-02,20.7,177,6,8\n"707",2019-12-29,20.04,486,7,8\n"708",2019-12-03,19.79,667,8,8\n"709",2019-12-06,19.47,203,9,8\n"710",2019-12-31,20.06,267,10,8\n"711",2019-12-31,19.41,210,11,8\n"712",2019-12-26,21.41,206,12,8\n"713",2019-12-12,20.16,1281,13,8\n"714",2019-12-24,20.93,270,14,8\n"715",2019-12-26,19.81,304,15,8\n"716",2019-12-13,21.24,463,16,8\n"717",2019-12-31,21.41,297,17,8\n"718",2019-12-09,20.72,198,18,8\n"719",2019-12-12,19.78,258,19,8\n"720",2019-12-03,20.56,134,20,8\n"721",2019-12-21,19.82,361,21,8\n"722",2019-12-26,20.59,183,22,8\n"723",2019-12-30,19.92,205,23,8\n"724",2019-12-29,21.05,100,24,8\n"725",2019-12-27,19.05,379,25,8\n"726",2019-12-06,20.85,778,26,8\n"727",2019-12-31,20.29,299,27,8\n"728",2019-12-30,20.49,184,28,8\n"729",2019-12-30,19.46,274,29,8\n"730",2019-12-07,20.32,92,30,8\n"731",2019-12-12,19.54,234,31,8\n"732",2019-12-26,21.11,151,32,8\n"733",2019-12-28,20.18,499,33,8\n"734",2019-12-08,20.32,236,34,8\n"735",2019-12-08,20.68,344,35,8\n"736",2019-12-19,20.91,353,36,8\n"737",2019-12-18,19.77,252,37,8\n"738",2019-12-10,20.39,286,38,8\n"739",2019-12-02,19.71,433,39,8\n"740",2019-12-01,20.8,265,40,8\n"741",2019-12-30,20.15,319,41,8\n"742",2019-12-05,19.32,74,42,8\n"743",2019-12-05,20.41,424,43,8\n"744",2019-12-08,21.56,347,44,8\n"745",2019-12-10,19.2,412,45,8\n"746",2019-12-16,21.93,351,46,8\n"747",2019-12-29,20.1,186,47,8\n"748",2019-12-28,20.92,281,48,8\n"749",2019-12-20,20.09,538,49,8\n"750",2019-12-05,20.37,811,50,8\n"751",2019-12-19,20.86,341,51,8\n"752",2019-12-19,20.31,922,52,8\n"753",2019-12-26,20.87,163,53,8\n"754",2019-12-16,20.32,321,54,8\n"755",2019-12-23,19.5,289,55,8\n"756",2019-12-28,20.77,313,56,8\n"757",2019-12-06,19.98,890,57,8\n"758",2019-12-27,19.36,226,58,8\n"759",2019-12-25,20.57,527,59,8\n"760",2019-12-13,20.83,185,60,8\n"761",2019-12-10,20.3,473,61,8\n"762",2019-12-25,21.03,220,62,8\n"763",2019-12-15,19.65,389,63,8\n"764",2019-12-04,20.05,156,64,8\n"765",2019-12-09,21.26,127,65,8\n"766",2019-12-31,20.7,520,66,8\n"767",2019-12-14,20.28,249,67,8\n"768",2019-12-31,19.89,125,68,8\n"769",2019-12-06,21.57,179,69,8\n"770",2019-12-31,19.7,185,70,8\n"771",2019-12-29,19.6,191,71,8\n"772",2019-12-02,20.69,210,72,8\n"773",2019-12-13,21.1,288,73,8\n"774",2019-12-07,19.84,97,74,8\n"775",2019-12-28,19.56,426,75,8\n"776",2019-12-02,20.5,369,76,8\n"777",2019-12-21,20.26,226,77,8\n"778",2019-12-03,20.12,158,78,8\n"779",2019-12-22,20.7,650,79,8\n"780",2019-12-21,20.18,257,80,8\n"781",2019-12-18,20.96,382,81,8\n"782",2019-12-24,20.78,214,82,8\n"783",2019-12-24,19.41,537,83,8\n"784",2019-12-11,21.16,212,84,8\n"785",2019-12-27,20.01,126,85,8\n"786",2019-12-20,19.97,293,86,8\n"787",2019-12-29,20.05,620,87,8\n"788",2019-12-02,19.62,188,88,8\n"789",2019-12-01,21.13,213,89,8\n"790",2019-12-13,19.89,259,90,8\n"791",2019-12-05,20.33,276,91,8\n"792",2019-12-04,20.25,215,92,8\n"793",2019-12-27,21.56,744,93,8\n"794",2019-12-20,20.71,457,94,8\n"795",2019-12-17,20.4,134,95,8\n"796",2019-12-11,21.23,293,96,8\n"797",2019-12-12,20.88,256,97,8\n"798",2019-12-09,20.24,260,98,8\n"799",2019-12-30,20.7,406,99,8\n"800",2019-12-13,20.06,255,100,8\n"801",2019-12-23,20.03,123,1,9\n"802",2019-12-16,20.52,275,2,9\n"803",2019-12-26,20.69,165,3,9\n"804",2019-12-03,20.93,569,4,9\n"805",2019-12-28,20.08,646,5,9\n"806",2019-12-02,20.33,265,6,9\n"807",2019-12-29,20.64,335,7,9\n"808",2019-12-03,20.31,85,8,9\n"809",2019-12-06,19.32,204,9,9\n"810",2019-12-31,19.35,194,10,9\n"811",2019-12-31,20.41,290,11,9\n"812",2019-12-26,19.54,342,12,9\n"813",2019-12-12,20.34,281,13,9\n"814",2019-12-24,19.8,1158,14,9\n"815",2019-12-26,21.04,171,15,9\n"816",2019-12-13,20.6,380,16,9\n"817",2019-12-31,21.39,269,17,9\n"818",2019-12-09,19.92,163,18,9\n"819",2019-12-12,19.07,669,19,9\n"820",2019-12-03,20.35,269,20,9\n"821",2019-12-21,19.63,387,21,9\n"822",2019-12-26,19.31,182,22,9\n"823",2019-12-30,20.42,181,23,9\n"824",2019-12-29,21.53,279,24,9\n"825",2019-12-27,20.62,494,25,9\n"826",2019-12-06,20.39,263,26,9\n"827",2019-12-31,20.46,335,27,9\n"828",2019-12-30,20.4,376,28,9\n"829",2019-12-30,20.31,323,29,9\n"830",2019-12-07,20.28,298,30,9\n"831",2019-12-12,21.21,164,31,9\n"832",2019-12-26,20.66,845,32,9\n"833",2019-12-28,20.37,246,33,9\n"834",2019-12-08,20.31,338,34,9\n"835",2019-12-08,20.57,244,35,9\n"836",2019-12-19,20.72,235,36,9\n"837",2019-12-18,20.97,211,37,9\n"838",2019-12-10,20.16,86,38,9\n"839",2019-12-02,20.33,132,39,9\n"840",2019-12-01,20.22,204,40,9\n"841",2019-12-30,20.77,171,41,9\n"842",2019-12-05,20.31,441,42,9\n"843",2019-12-05,20.64,160,43,9\n"844",2019-12-08,20.3,398,44,9\n"845",2019-12-10,20.63,524,45,9\n"846",2019-12-16,19.97,327,46,9\n"847",2019-12-29,20.35,455,47,9\n"848",2019-12-28,19,285,48,9\n"849",2019-12-20,21.23,162,49,9\n"850",2019-12-05,20.83,121,50,9\n"851",2019-12-19,20.32,177,51,9\n"852",2019-12-19,21,429,52,9\n"853",2019-12-26,20.11,555,53,9\n"854",2019-12-16,19.4,347,54,9\n"855",2019-12-23,21.1,314,55,9\n"856",2019-12-28,20.04,375,56,9\n"857",2019-12-06,20.5,205,57,9\n"858",2019-12-27,19.97,119,58,9\n"859",2019-12-25,20.51,292,59,9\n"860",2019-12-13,20.61,116,60,9\n"861",2019-12-10,20.08,462,61,9\n"862",2019-12-25,20.13,231,62,9\n"863",2019-12-15,20.02,460,63,9\n"864",2019-12-04,21.23,481,64,9\n"865",2019-12-09,19.83,687,65,9\n"866",2019-12-31,19.61,339,66,9\n"867",2019-12-14,20.34,87,67,9\n"868",2019-12-31,20.39,743,68,9\n"869",2019-12-06,19.82,287,69,9\n"870",2019-12-31,19.64,172,70,9\n"871",2019-12-29,20.61,300,71,9\n"872",2019-12-02,20.6,404,72,9\n"873",2019-12-13,20.35,223,73,9\n"874",2019-12-07,20.89,125,74,9\n"875",2019-12-28,20.29,732,75,9\n"876",2019-12-02,20.4,458,76,9\n"877",2019-12-21,20.28,504,77,9\n"878",2019-12-03,20.27,145,78,9\n"879",2019-12-22,20.23,260,79,9\n"880",2019-12-21,20.76,283,80,9\n"881",2019-12-18,20.82,306,81,9\n"882",2019-12-24,19.51,288,82,9\n"883",2019-12-24,19.39,143,83,9\n"884",2019-12-11,20.32,144,84,9\n"885",2019-12-27,19.44,130,85,9\n"886",2019-12-20,20.79,100,86,9\n"887",2019-12-29,20.59,238,87,9\n"888",2019-12-02,20.52,115,88,9\n"889",2019-12-01,20.83,135,89,9\n"890",2019-12-13,21.22,381,90,9\n"891",2019-12-05,21.12,421,91,9\n"892",2019-12-04,19.38,250,92,9\n"893",2019-12-27,20.37,424,93,9\n"894",2019-12-20,19.94,219,94,9\n"895",2019-12-17,19.82,188,95,9\n"896",2019-12-11,20.19,245,96,9\n"897",2019-12-12,20.69,156,97,9\n"898",2019-12-09,19.92,300,98,9\n"899",2019-12-30,19.84,155,99,9\n"900",2019-12-13,20.64,179,100,9\n"901",2019-12-23,20.06,398,1,10\n"902",2019-12-16,20.18,156,2,10\n"903",2019-12-26,20.6,236,3,10\n"904",2019-12-03,20.16,259,4,10\n"905",2019-12-28,19.37,526,5,10\n"906",2019-12-02,19.44,116,6,10\n"907",2019-12-29,21.16,178,7,10\n"908",2019-12-03,20.39,280,8,10\n"909",2019-12-06,19.4,324,9,10\n"910",2019-12-31,19.29,390,10,10\n"911",2019-12-31,18.81,586,11,10\n"912",2019-12-26,19.88,312,12,10\n"913",2019-12-12,20.83,230,13,10\n"914",2019-12-24,19.91,216,14,10\n"915",2019-12-26,20.82,465,15,10\n"916",2019-12-13,20.4,535,16,10\n"917",2019-12-31,20.4,263,17,10\n"918",2019-12-09,20.35,404,18,10\n"919",2019-12-12,19.8,401,19,10\n"920",2019-12-03,20.78,297,20,10\n"921",2019-12-21,19.55,231,21,10\n"922",2019-12-26,19.38,147,22,10\n"923",2019-12-30,19.56,219,23,10\n"924",2019-12-29,20.32,328,24,10\n"925",2019-12-27,19.89,125,25,10\n"926",2019-12-06,21.14,262,26,10\n"927",2019-12-31,20.47,253,27,10\n"928",2019-12-30,19.88,620,28,10\n"929",2019-12-30,20.26,159,29,10\n"930",2019-12-07,20.48,245,30,10\n"931",2019-12-12,20.16,317,31,10\n"932",2019-12-26,20.2,337,32,10\n"933",2019-12-28,21.25,220,33,10\n"934",2019-12-08,21.02,303,34,10\n"935",2019-12-08,19.73,422,35,10\n"936",2019-12-19,20.44,379,36,10\n"937",2019-12-18,19.54,755,37,10\n"938",2019-12-10,20.73,219,38,10\n"939",2019-12-02,20.61,199,39,10\n"940",2019-12-01,20.56,146,40,10\n"941",2019-12-30,20.14,193,41,10\n"942",2019-12-05,19,378,42,10\n"943",2019-12-05,20.59,200,43,10\n"944",2019-12-08,19.92,185,44,10\n"945",2019-12-10,20.36,346,45,10\n"946",2019-12-16,20.92,252,46,10\n"947",2019-12-29,20.3,274,47,10\n"948",2019-12-28,20.89,251,48,10\n"949",2019-12-20,20.31,277,49,10\n"950",2019-12-05,20.96,150,50,10\n"951",2019-12-19,20.98,323,51,10\n"952",2019-12-19,20.84,445,52,10\n"953",2019-12-26,20.44,218,53,10\n"954",2019-12-16,20.78,317,54,10\n"955",2019-12-23,19.6,313,55,10\n"956",2019-12-28,20.65,318,56,10\n"957",2019-12-06,20.68,434,57,10\n"958",2019-12-27,20.38,252,58,10\n"959",2019-12-25,20.31,632,59,10\n"960",2019-12-13,20.2,185,60,10\n"961",2019-12-10,20.48,475,61,10\n"962",2019-12-25,19.58,299,62,10\n"963",2019-12-15,20.59,134,63,10\n"964",2019-12-04,20.31,270,64,10\n"965",2019-12-09,20.81,151,65,10\n"966",2019-12-31,21.71,327,66,10\n"967",2019-12-14,20.5,307,67,10\n"968",2019-12-31,19.44,295,68,10\n"969",2019-12-06,19.77,353,69,10\n"970",2019-12-31,19.93,183,70,10\n"971",2019-12-29,20.37,248,71,10\n"972",2019-12-02,20.14,194,72,10\n"973",2019-12-13,20.11,467,73,10\n"974",2019-12-07,20.12,357,74,10\n"975",2019-12-28,20.43,114,75,10\n"976",2019-12-02,20.47,285,76,10\n"977",2019-12-21,19.43,135,77,10\n"978",2019-12-03,20.27,638,78,10\n"979",2019-12-22,20.38,196,79,10\n"980",2019-12-21,20.88,161,80,10\n"981",2019-12-18,21.73,117,81,10\n"982",2019-12-24,19.9,288,82,10\n"983",2019-12-24,20.59,398,83,10\n"984",2019-12-11,21.34,389,84,10\n"985",2019-12-27,20.95,379,85,10\n"986",2019-12-20,19.58,335,86,10\n"987",2019-12-29,20.5,181,87,10\n"988",2019-12-02,19.98,310,88,10\n"989",2019-12-01,19.97,297,89,10\n"990",2019-12-13,19.96,275,90,10\n"991",2019-12-05,19.85,222,91,10\n"992",2019-12-04,20.86,247,92,10\n"993",2019-12-27,20.38,236,93,10\n"994",2019-12-20,20.78,394,94,10\n"995",2019-12-17,19.68,169,95,10\n"996",2019-12-11,19.98,500,96,10\n"997",2019-12-12,19.15,366,97,10\n"998",2019-12-09,19.26,270,98,10\n"999",2019-12-30,19.79,550,99,10\n"1000",2019-12-13,20.27,348,100,10\n"1001",2020-01-25,21.09,315,1,1\n"1002",2020-01-31,21.44,369,2,1\n"1003",2020-01-02,21.82,279,3,1\n"1004",2020-01-04,20.68,452,4,1\n"1005",2020-01-14,21.44,316,5,1\n"1006",2020-01-27,21.47,390,6,1\n"1007",2020-01-31,20.4,110,7,1\n"1008",2020-01-21,22.39,634,8,1\n"1009",2020-01-19,20.57,562,9,1\n"1010",2020-01-07,21.25,259,10,1\n"1011",2020-01-21,20.52,567,11,1\n"1012",2020-01-12,19.62,338,12,1\n"1013",2020-01-04,22.22,206,13,1\n"1014",2020-01-15,20.38,377,14,1\n"1015",2020-01-27,21.49,246,15,1\n"1016",2020-01-06,21.12,236,16,1\n"1017",2020-01-18,21.45,328,17,1\n"1018",2020-01-31,20.88,205,18,1\n"1019",2020-01-02,21.56,217,19,1\n"1020",2020-01-28,21.2,174,20,1\n"1021",2020-01-03,21.12,292,21,1\n"1022",2020-01-12,20.92,333,22,1\n"1023",2020-01-13,21.92,383,23,1\n"1024",2020-01-27,20.56,125,24,1\n"1025",2020-01-15,20.69,382,25,1\n"1026",2020-01-28,20.74,241,26,1\n"1027",2020-01-23,21.66,110,27,1\n"1028",2020-01-14,20.79,529,28,1\n"1029",2020-01-15,21.43,365,29,1\n"1030",2020-01-13,21,296,30,1\n"1031",2020-01-07,21.02,273,31,1\n"1032",2020-01-29,20.36,125,32,1\n"1033",2020-01-21,21.29,306,33,1\n"1034",2020-01-03,21.55,418,34,1\n"1035",2020-01-15,20.81,319,35,1\n"1036",2020-01-18,21.79,289,36,1\n"1037",2020-01-29,21.08,225,37,1\n"1038",2020-01-13,20.37,245,38,1\n"1039",2020-01-01,21.91,235,39,1\n"1040",2020-01-01,20.85,331,40,1\n"1041",2020-01-12,20.99,118,41,1\n"1042",2020-01-31,20.99,353,42,1\n"1043",2020-01-08,19.63,335,43,1\n"1044",2020-01-09,20.24,155,44,1\n"1045",2020-01-11,21.06,375,45,1\n"1046",2020-01-09,20.75,328,46,1\n"1047",2020-01-12,20.35,344,47,1\n"1048",2020-01-24,21.03,162,48,1\n"1049",2020-01-16,21.96,559,49,1\n"1050",2020-01-05,21.4,268,50,1\n"1051",2020-01-29,20.44,171,51,1\n"1052",2020-01-14,21.53,344,52,1\n"1053",2020-01-12,20.88,366,53,1\n"1054",2020-01-04,21.12,279,54,1\n"1055",2020-01-20,20.95,210,55,1\n"1056",2020-01-12,19.74,336,56,1\n"1057",2020-01-18,21.97,531,57,1\n"1058",2020-01-02,20.98,183,58,1\n"1059",2020-01-30,21.54,142,59,1\n"1060",2020-01-18,19.22,325,60,1\n"1061",2020-01-31,21.18,150,61,1\n"1062",2020-01-25,22.34,235,62,1\n"1063",2020-01-11,20.31,326,63,1\n"1064",2020-01-31,21.26,460,64,1\n"1065",2020-01-24,21.17,538,65,1\n"1066",2020-01-20,21.32,304,66,1\n"1067",2020-01-20,21.28,313,67,1\n"1068",2020-01-13,21.23,254,68,1\n"1069",2020-01-07,21.91,218,69,1\n"1070",2020-01-25,20.43,532,70,1\n"1071",2020-01-29,21.66,150,71,1\n"1072",2020-01-13,19.73,741,72,1\n"1073",2020-01-11,20.87,464,73,1\n"1074",2020-01-23,21.49,440,74,1\n"1075",2020-01-16,21.38,249,75,1\n"1076",2020-01-17,19.15,546,76,1\n"1077",2020-01-07,21.01,233,77,1\n"1078",2020-01-10,20.79,235,78,1\n"1079",2020-01-18,20.56,325,79,1\n"1080",2020-01-31,19.98,138,80,1\n"1081",2020-01-26,20.96,215,81,1\n"1082",2020-01-05,21.37,763,82,1\n"1083",2020-01-15,21.11,120,83,1\n"1084",2020-01-09,20.05,405,84,1\n"1085",2020-01-02,20.53,248,85,1\n"1086",2020-01-24,21.82,400,86,1\n"1087",2020-01-30,22.24,323,87,1\n"1088",2020-01-23,21.61,496,88,1\n"1089",2020-01-01,20.61,218,89,1\n"1090",2020-01-25,20.16,315,90,1\n"1091",2020-01-16,20.54,172,91,1\n"1092",2020-01-21,20.67,434,92,1\n"1093",2020-01-20,21.3,494,93,1\n"1094",2020-01-30,19.77,373,94,1\n"1095",2020-01-07,20.87,194,95,1\n"1096",2020-01-16,22.19,361,96,1\n"1097",2020-01-06,21.27,537,97,1\n"1098",2020-01-05,20.91,487,98,1\n"1099",2020-01-19,21.05,624,99,1\n"1100",2020-01-15,20.52,181,100,1\n"1101",2020-01-25,21.53,218,1,2\n"1102",2020-01-31,20.52,292,2,2\n"1103",2020-01-02,21.12,183,3,2\n"1104",2020-01-04,20.9,320,4,2\n"1105",2020-01-14,20.9,209,5,2\n"1106",2020-01-27,20.69,154,6,2\n"1107",2020-01-31,19.78,178,7,2\n"1108",2020-01-21,22.39,316,8,2\n"1109",2020-01-19,20.96,388,9,2\n"1110",2020-01-07,21.27,257,10,2\n"1111",2020-01-21,21.28,452,11,2\n"1112",2020-01-12,20.9,543,12,2\n"1113",2020-01-04,22.01,615,13,2\n"1114",2020-01-15,21.14,217,14,2\n"1115",2020-01-27,21.08,175,15,2\n"1116",2020-01-06,20.01,139,16,2\n"1117",2020-01-18,21.62,392,17,2\n"1118",2020-01-31,20.5,172,18,2\n"1119",2020-01-02,20.83,376,19,2\n"1120",2020-01-28,21.42,257,20,2\n"1121",2020-01-03,21.09,436,21,2\n"1122",2020-01-12,19.65,139,22,2\n"1123",2020-01-13,20.48,111,23,2\n"1124",2020-01-27,21.17,316,24,2\n"1125",2020-01-15,21.87,145,25,2\n"1126",2020-01-28,21.14,123,26,2\n"1127",2020-01-23,20.03,208,27,2\n"1128",2020-01-14,20.52,327,28,2\n"1129",2020-01-15,20.69,590,29,2\n"1130",2020-01-13,21.11,271,30,2\n"1131",2020-01-07,21.4,264,31,2\n"1132",2020-01-29,20.81,348,32,2\n"1133",2020-01-21,20.54,202,33,2\n"1134",2020-01-03,19.98,352,34,2\n"1135",2020-01-15,21.28,426,35,2\n"1136",2020-01-18,21.46,417,36,2\n"1137",2020-01-29,20.95,253,37,2\n"1138",2020-01-13,19.91,298,38,2\n"1139",2020-01-01,21.09,347,39,2\n"1140",2020-01-01,23.1,353,40,2\n"1141",2020-01-12,20.21,179,41,2\n"1142",2020-01-31,21.48,303,42,2\n"1143",2020-01-08,21.5,358,43,2\n"1144",2020-01-09,21.47,184,44,2\n"1145",2020-01-11,20.5,125,45,2\n"1146",2020-01-09,20.59,270,46,2\n"1147",2020-01-12,20.59,229,47,2\n"1148",2020-01-24,21.19,455,48,2\n"1149",2020-01-16,20.46,355,49,2\n"1150",2020-01-05,20.57,198,50,2\n"1151",2020-01-29,20.91,556,51,2\n"1152",2020-01-14,20.97,162,52,2\n"1153",2020-01-12,21.55,163,53,2\n"1154",2020-01-04,20.87,158,54,2\n"1155",2020-01-20,21.45,168,55,2\n"1156",2020-01-12,22.08,150,56,2\n"1157",2020-01-18,20.54,298,57,2\n"1158",2020-01-02,20.44,254,58,2\n"1159",2020-01-30,19.81,129,59,2\n"1160",2020-01-18,22.72,370,60,2\n"1161",2020-01-31,21.16,272,61,2\n"1162",2020-01-25,21.23,93,62,2\n"1163",2020-01-11,19.77,1121,63,2\n"1164",2020-01-31,20.93,118,64,2\n"1165",2020-01-24,21.2,439,65,2\n"1166",2020-01-20,22.08,486,66,2\n"1167",2020-01-20,20.35,117,67,2\n"1168",2020-01-13,20.79,402,68,2\n"1169",2020-01-07,20.83,250,69,2\n"1170",2020-01-25,20.94,219,70,2\n"1171",2020-01-29,21.51,319,71,2\n"1172",2020-01-13,21.49,126,72,2\n"1173",2020-01-11,20.7,440,73,2\n"1174",2020-01-23,20.97,162,74,2\n"1175",2020-01-16,21.14,295,75,2\n"1176",2020-01-17,21.2,269,76,2\n"1177",2020-01-07,21.47,148,77,2\n"1178",2020-01-10,20.87,367,78,2\n"1179",2020-01-18,19.88,302,79,2\n"1180",2020-01-31,21.21,239,80,2\n"1181",2020-01-26,21.27,214,81,2\n"1182",2020-01-05,20.9,209,82,2\n"1183",2020-01-15,20.77,135,83,2\n"1184",2020-01-09,21.4,430,84,2\n"1185",2020-01-02,20.37,344,85,2\n"1186",2020-01-24,20.45,213,86,2\n"1187",2020-01-30,21.1,162,87,2\n"1188",2020-01-23,21.33,473,88,2\n"1189",2020-01-01,20.1,364,89,2\n"1190",2020-01-25,22.04,186,90,2\n"1191",2020-01-16,20.88,131,91,2\n"1192",2020-01-21,21.35,260,92,2\n"1193",2020-01-20,20.7,378,93,2\n"1194",2020-01-30,19.61,254,94,2\n"1195",2020-01-07,20.28,126,95,2\n"1196",2020-01-16,20.15,291,96,2\n"1197",2020-01-06,21.21,893,97,2\n"1198",2020-01-05,20.23,486,98,2\n"1199",2020-01-19,20.19,369,99,2\n"1200",2020-01-15,21.88,195,100,2\n"1201",2020-01-25,20.98,189,1,3\n"1202",2020-01-31,20.88,489,2,3\n"1203",2020-01-02,20.91,153,3,3\n"1204",2020-01-04,22.37,364,4,3\n"1205",2020-01-14,20.46,230,5,3\n"1206",2020-01-27,21.18,411,6,3\n"1207",2020-01-31,20.82,302,7,3\n"1208",2020-01-21,21.55,275,8,3\n"1209",2020-01-19,21.13,261,9,3\n"1210",2020-01-07,19.07,255,10,3\n"1211",2020-01-21,21.2,231,11,3\n"1212",2020-01-12,21.07,241,12,3\n"1213",2020-01-04,20.58,114,13,3\n"1214",2020-01-15,20.59,405,14,3\n"1215",2020-01-27,21.03,215,15,3\n"1216",2020-01-06,20.41,219,16,3\n"1217",2020-01-18,20.53,322,17,3\n"1218",2020-01-31,20.97,111,18,3\n"1219",2020-01-02,21.74,883,19,3\n"1220",2020-01-28,21.38,343,20,3\n"1221",2020-01-03,21.15,266,21,3\n"1222",2020-01-12,21.18,185,22,3\n"1223",2020-01-13,20.8,234,23,3\n"1224",2020-01-27,22.19,253,24,3\n"1225",2020-01-15,19.66,344,25,3\n"1226",2020-01-28,21.75,263,26,3\n"1227",2020-01-23,21.11,313,27,3\n"1228",2020-01-14,20.89,181,28,3\n"1229",2020-01-15,22.25,287,29,3\n"1230",2020-01-13,21.4,393,30,3\n"1231",2020-01-07,21.78,246,31,3\n"1232",2020-01-29,20.74,301,32,3\n"1233",2020-01-21,20.7,328,33,3\n"1234",2020-01-03,21.01,375,34,3\n"1235",2020-01-15,22.21,117,35,3\n"1236",2020-01-18,20.33,199,36,3\n"1237",2020-01-29,21.69,301,37,3\n"1238",2020-01-13,21.45,91,38,3\n"1239",2020-01-01,21.64,128,39,3\n"1240",2020-01-01,20.87,224,40,3\n"1241",2020-01-12,21.31,178,41,3\n"1242",2020-01-31,21.84,330,42,3\n"1243",2020-01-08,21.19,615,43,3\n"1244",2020-01-09,21.71,315,44,3\n"1245",2020-01-11,22.17,188,45,3\n"1246",2020-01-09,21.11,217,46,3\n"1247",2020-01-12,20.25,117,47,3\n"1248",2020-01-24,21.7,284,48,3\n"1249",2020-01-16,21.41,333,49,3\n"1250",2020-01-05,21.49,217,50,3\n"1251",2020-01-29,21.02,232,51,3\n"1252",2020-01-14,21.67,219,52,3\n"1253",2020-01-12,21.36,436,53,3\n"1254",2020-01-04,20.73,126,54,3\n"1255",2020-01-20,21.12,242,55,3\n"1256",2020-01-12,21.39,127,56,3\n"1257",2020-01-18,19.97,321,57,3\n"1258",2020-01-02,21.57,213,58,3\n"1259",2020-01-30,20.85,325,59,3\n"1260",2020-01-18,21.36,461,60,3\n"1261",2020-01-31,20.97,339,61,3\n"1262",2020-01-25,20.71,150,62,3\n"1263",2020-01-11,22.18,249,63,3\n"1264",2020-01-31,22.24,246,64,3\n"1265",2020-01-24,21.15,179,65,3\n"1266",2020-01-20,19.94,611,66,3\n"1267",2020-01-20,21.46,213,67,3\n"1268",2020-01-13,20.73,223,68,3\n"1269",2020-01-07,20.36,314,69,3\n"1270",2020-01-25,21.26,174,70,3\n"1271",2020-01-29,21.15,236,71,3\n"1272",2020-01-13,20.5,396,72,3\n"1273",2020-01-11,20.89,129,73,3\n"1274",2020-01-23,20.28,1045,74,3\n"1275",2020-01-16,20.45,514,75,3\n"1276",2020-01-17,21.36,264,76,3\n"1277",2020-01-07,20.67,623,77,3\n"1278",2020-01-10,21.77,250,78,3\n"1279",2020-01-18,20.6,228,79,3\n"1280",2020-01-31,19.98,202,80,3\n"1281",2020-01-26,20.83,140,81,3\n"1282",2020-01-05,19.24,180,82,3\n"1283",2020-01-15,20.78,168,83,3\n"1284",2020-01-09,20.86,244,84,3\n"1285",2020-01-02,20.29,274,85,3\n"1286",2020-01-24,20.8,147,86,3\n"1287",2020-01-30,21.03,302,87,3\n"1288",2020-01-23,22.31,279,88,3\n"1289",2020-01-01,21.81,178,89,3\n"1290",2020-01-25,20.48,281,90,3\n"1291",2020-01-16,21.58,170,91,3\n"1292",2020-01-21,20.61,360,92,3\n"1293",2020-01-20,21.87,165,93,3\n"1294",2020-01-30,21.51,638,94,3\n"1295",2020-01-07,22.54,179,95,3\n"1296",2020-01-16,21.25,302,96,3\n"1297",2020-01-06,20.66,342,97,3\n"1298",2020-01-05,19.99,452,98,3\n"1299",2020-01-19,21.46,197,99,3\n"1300",2020-01-15,20.99,543,100,3\n"1301",2020-01-25,21.26,281,1,4\n"1302",2020-01-31,21.43,157,2,4\n"1303",2020-01-02,20.56,122,3,4\n"1304",2020-01-04,22.2,288,4,4\n"1305",2020-01-14,21.9,156,5,4\n"1306",2020-01-27,21.03,698,6,4\n"1307",2020-01-31,21.65,250,7,4\n"1308",2020-01-21,21.06,174,8,4\n"1309",2020-01-19,20.13,326,9,4\n"1310",2020-01-07,22.12,483,10,4\n"1311",2020-01-21,19.48,359,11,4\n"1312",2020-01-12,21.38,307,12,4\n"1313",2020-01-04,21.68,295,13,4\n"1314",2020-01-15,20.42,366,14,4\n"1315",2020-01-27,20.87,424,15,4\n"1316",2020-01-06,20.62,337,16,4\n"1317",2020-01-18,19.71,257,17,4\n"1318",2020-01-31,20.68,316,18,4\n"1319",2020-01-02,21,213,19,4\n"1320",2020-01-28,21.15,133,20,4\n"1321",2020-01-03,20.72,170,21,4\n"1322",2020-01-12,20.89,257,22,4\n"1323",2020-01-13,20.97,192,23,4\n"1324",2020-01-27,20.99,174,24,4\n"1325",2020-01-15,20.86,184,25,4\n"1326",2020-01-28,21.29,220,26,4\n"1327",2020-01-23,21.03,259,27,4\n"1328",2020-01-14,20.41,127,28,4\n"1329",2020-01-15,21.42,178,29,4\n"1330",2020-01-13,20.06,293,30,4\n"1331",2020-01-07,20.49,236,31,4\n"1332",2020-01-29,19.85,311,32,4\n"1333",2020-01-21,21.62,194,33,4\n"1334",2020-01-03,21.11,217,34,4\n"1335",2020-01-15,22.75,174,35,4\n"1336",2020-01-18,20.48,218,36,4\n"1337",2020-01-29,20.68,170,37,4\n"1338",2020-01-13,21.38,421,38,4\n"1339",2020-01-01,21.76,328,39,4\n"1340",2020-01-01,21.14,336,40,4\n"1341",2020-01-12,22.32,492,41,4\n"1342",2020-01-31,21.89,248,42,4\n"1343",2020-01-08,21.02,414,43,4\n"1344",2020-01-09,20.06,537,44,4\n"1345",2020-01-11,21.91,99,45,4\n"1346",2020-01-09,20.59,417,46,4\n"1347",2020-01-12,21.87,269,47,4\n"1348",2020-01-24,22.79,254,48,4\n"1349",2020-01-16,21.49,234,49,4\n"1350",2020-01-05,21.93,273,50,4\n"1351",2020-01-29,20.54,385,51,4\n"1352",2020-01-14,20.78,129,52,4\n"1353",2020-01-12,20.26,131,53,4\n"1354",2020-01-04,20.97,519,54,4\n"1355",2020-01-20,20.62,484,55,4\n"1356",2020-01-12,19.99,160,56,4\n"1357",2020-01-18,21.19,327,57,4\n"1358",2020-01-02,20.32,453,58,4\n"1359",2020-01-30,20.79,239,59,4\n"1360",2020-01-18,21.4,806,60,4\n"1361",2020-01-31,21.51,319,61,4\n"1362",2020-01-25,19.6,127,62,4\n"1363",2020-01-11,20.4,141,63,4\n"1364",2020-01-31,20.58,289,64,4\n"1365",2020-01-24,21,220,65,4\n"1366",2020-01-20,21.25,430,66,4\n"1367",2020-01-20,19.82,221,67,4\n"1368",2020-01-13,19.46,226,68,4\n"1369",2020-01-07,21.48,209,69,4\n"1370",2020-01-25,22.44,349,70,4\n"1371",2020-01-29,20.16,101,71,4\n"1372",2020-01-13,21.05,408,72,4\n"1373",2020-01-11,20.79,161,73,4\n"1374",2020-01-23,21.53,198,74,4\n"1375",2020-01-16,20.42,292,75,4\n"1376",2020-01-17,21.63,265,76,4\n"1377",2020-01-07,20.81,139,77,4\n"1378",2020-01-10,20.14,365,78,4\n"1379",2020-01-18,22.32,366,79,4\n"1380",2020-01-31,20.94,858,80,4\n"1381",2020-01-26,20.6,132,81,4\n"1382",2020-01-05,21.47,626,82,4\n"1383",2020-01-15,20.41,336,83,4\n"1384",2020-01-09,21.45,388,84,4\n"1385",2020-01-02,20.8,219,85,4\n"1386",2020-01-24,21.59,346,86,4\n"1387",2020-01-30,19.97,349,87,4\n"1388",2020-01-23,20.39,299,88,4\n"1389",2020-01-01,20.94,517,89,4\n"1390",2020-01-25,21.16,370,90,4\n"1391",2020-01-16,21.36,121,91,4\n"1392",2020-01-21,20.76,636,92,4\n"1393",2020-01-20,21.44,360,93,4\n"1394",2020-01-30,20.4,159,94,4\n"1395",2020-01-07,22.11,201,95,4\n"1396",2020-01-16,21.17,415,96,4\n"1397",2020-01-06,20.56,333,97,4\n"1398",2020-01-05,20.87,303,98,4\n"1399",2020-01-19,20.14,270,99,4\n"1400",2020-01-15,21.63,184,100,4\n"1401",2020-01-25,20.32,732,1,5\n"1402",2020-01-31,22.3,199,2,5\n"1403",2020-01-02,21.11,323,3,5\n"1404",2020-01-04,20.1,372,4,5\n"1405",2020-01-14,21.01,220,5,5\n"1406",2020-01-27,19.98,225,6,5\n"1407",2020-01-31,19.89,208,7,5\n"1408",2020-01-21,21.07,220,8,5\n"1409",2020-01-19,22.35,295,9,5\n"1410",2020-01-07,19.66,404,10,5\n"1411",2020-01-21,20.51,175,11,5\n"1412",2020-01-12,22.27,479,12,5\n"1413",2020-01-04,19.61,294,13,5\n"1414",2020-01-15,21.54,598,14,5\n"1415",2020-01-27,21.63,196,15,5\n"1416",2020-01-06,22.06,148,16,5\n"1417",2020-01-18,21.69,212,17,5\n"1418",2020-01-31,21,311,18,5\n"1419",2020-01-02,20.32,456,19,5\n"1420",2020-01-28,21.35,382,20,5\n"1421",2020-01-03,20.98,293,21,5\n"1422",2020-01-12,22.2,309,22,5\n"1423",2020-01-13,21.46,504,23,5\n"1424",2020-01-27,20.79,520,24,5\n"1425",2020-01-15,20.23,219,25,5\n"1426",2020-01-28,21.03,673,26,5\n"1427",2020-01-23,20.24,153,27,5\n"1428",2020-01-14,19.05,331,28,5\n"1429",2020-01-15,21.43,286,29,5\n"1430",2020-01-13,20.27,402,30,5\n"1431",2020-01-07,20.76,140,31,5\n"1432",2020-01-29,21.73,258,32,5\n"1433",2020-01-21,21.36,197,33,5\n"1434",2020-01-03,21.48,161,34,5\n"1435",2020-01-15,20.24,414,35,5\n"1436",2020-01-18,21.65,279,36,5\n"1437",2020-01-29,21.11,59,37,5\n"1438",2020-01-13,20.19,454,38,5\n"1439",2020-01-01,23.26,594,39,5\n"1440",2020-01-01,20.42,361,40,5\n"1441",2020-01-12,20.82,167,41,5\n"1442",2020-01-31,20.21,252,42,5\n"1443",2020-01-08,20.72,234,43,5\n"1444",2020-01-09,20.51,256,44,5\n"1445",2020-01-11,20.74,342,45,5\n"1446",2020-01-09,20.73,768,46,5\n"1447",2020-01-12,20.63,225,47,5\n"1448",2020-01-24,20.23,276,48,5\n"1449",2020-01-16,21.87,179,49,5\n"1450",2020-01-05,21.51,268,50,5\n"1451",2020-01-29,20.72,308,51,5\n"1452",2020-01-14,20.45,184,52,5\n"1453",2020-01-12,20.56,197,53,5\n"1454",2020-01-04,21.28,264,54,5\n"1455",2020-01-20,20.13,344,55,5\n"1456",2020-01-12,19.85,407,56,5\n"1457",2020-01-18,20.24,190,57,5\n"1458",2020-01-02,21,127,58,5\n"1459",2020-01-30,21.21,307,59,5\n"1460",2020-01-18,19.9,241,60,5\n"1461",2020-01-31,21.92,474,61,5\n"1462",2020-01-25,19.87,267,62,5\n"1463",2020-01-11,21.18,404,63,5\n"1464",2020-01-31,20.06,354,64,5\n"1465",2020-01-24,19.86,114,65,5\n"1466",2020-01-20,20.22,183,66,5\n"1467",2020-01-20,20.62,280,67,5\n"1468",2020-01-13,20.41,187,68,5\n"1469",2020-01-07,21.14,314,69,5\n"1470",2020-01-25,22.38,271,70,5\n"1471",2020-01-29,22.21,499,71,5\n"1472",2020-01-13,21.06,181,72,5\n"1473",2020-01-11,21.34,494,73,5\n"1474",2020-01-23,20.91,400,74,5\n"1475",2020-01-16,20.83,263,75,5\n"1476",2020-01-17,20.54,279,76,5\n"1477",2020-01-07,20.12,338,77,5\n"1478",2020-01-10,20.42,268,78,5\n"1479",2020-01-18,21.44,223,79,5\n"1480",2020-01-31,21.21,385,80,5\n"1481",2020-01-26,19.8,116,81,5\n"1482",2020-01-05,20.29,455,82,5\n"1483",2020-01-15,20.61,282,83,5\n"1484",2020-01-09,19.5,329,84,5\n"1485",2020-01-02,19.73,236,85,5\n"1486",2020-01-24,21.79,711,86,5\n"1487",2020-01-30,21.77,349,87,5\n"1488",2020-01-23,21.65,331,88,5\n"1489",2020-01-01,21.1,456,89,5\n"1490",2020-01-25,21.54,175,90,5\n"1491",2020-01-16,21.38,207,91,5\n"1492",2020-01-21,20.56,134,92,5\n"1493",2020-01-20,20.64,432,93,5\n"1494",2020-01-30,20.55,258,94,5\n"1495",2020-01-07,20.98,551,95,5\n"1496",2020-01-16,20.54,153,96,5\n"1497",2020-01-06,20.78,331,97,5\n"1498",2020-01-05,21.06,327,98,5\n"1499",2020-01-19,21.04,264,99,5\n"1500",2020-01-15,22.06,358,100,5\n"1501",2020-01-25,21.04,352,1,6\n"1502",2020-01-31,21.85,214,2,6\n"1503",2020-01-02,21.89,214,3,6\n"1504",2020-01-04,20.71,301,4,6\n"1505",2020-01-14,20.49,236,5,6\n"1506",2020-01-27,20.88,364,6,6\n"1507",2020-01-31,19.89,280,7,6\n"1508",2020-01-21,20.78,471,8,6\n"1509",2020-01-19,21.86,217,9,6\n"1510",2020-01-07,20.55,229,10,6\n"1511",2020-01-21,21.37,383,11,6\n"1512",2020-01-12,20.55,172,12,6\n"1513",2020-01-04,20.64,297,13,6\n"1514",2020-01-15,21.27,448,14,6\n"1515",2020-01-27,21.35,372,15,6\n"1516",2020-01-06,21.02,187,16,6\n"1517",2020-01-18,20.94,532,17,6\n"1518",2020-01-31,20.63,355,18,6\n"1519",2020-01-02,20.49,460,19,6\n"1520",2020-01-28,21.76,157,20,6\n"1521",2020-01-03,20.24,194,21,6\n"1522",2020-01-12,20.86,246,22,6\n"1523",2020-01-13,20.64,148,23,6\n"1524",2020-01-27,21.26,299,24,6\n"1525",2020-01-15,20.18,249,25,6\n"1526",2020-01-28,20.67,498,26,6\n"1527",2020-01-23,20.72,346,27,6\n"1528",2020-01-14,20.8,457,28,6\n"1529",2020-01-15,20.12,187,29,6\n"1530",2020-01-13,20.25,256,30,6\n"1531",2020-01-07,21.06,327,31,6\n"1532",2020-01-29,21.08,398,32,6\n"1533",2020-01-21,20.31,167,33,6\n"1534",2020-01-03,20.28,311,34,6\n"1535",2020-01-15,22.18,78,35,6\n"1536",2020-01-18,20.91,533,36,6\n"1537",2020-01-29,20.66,428,37,6\n"1538",2020-01-13,21.28,232,38,6\n"1539",2020-01-01,20.64,203,39,6\n"1540",2020-01-01,21.65,190,40,6\n"1541",2020-01-12,20.07,352,41,6\n"1542",2020-01-31,21.74,193,42,6\n"1543",2020-01-08,21.93,342,43,6\n"1544",2020-01-09,20.2,584,44,6\n"1545",2020-01-11,21.7,324,45,6\n"1546",2020-01-09,20.79,473,46,6\n"1547",2020-01-12,21.17,215,47,6\n"1548",2020-01-24,21.45,146,48,6\n"1549",2020-01-16,20.38,140,49,6\n"1550",2020-01-05,20.86,188,50,6\n"1551",2020-01-29,20.37,376,51,6\n"1552",2020-01-14,21.46,414,52,6\n"1553",2020-01-12,21.63,271,53,6\n"1554",2020-01-04,21.47,222,54,6\n"1555",2020-01-20,21.35,211,55,6\n"1556",2020-01-12,21.71,257,56,6\n"1557",2020-01-18,21.9,134,57,6\n"1558",2020-01-02,20.79,419,58,6\n"1559",2020-01-30,20.65,191,59,6\n"1560",2020-01-18,21.28,98,60,6\n"1561",2020-01-31,19.66,434,61,6\n"1562",2020-01-25,20.74,377,62,6\n"1563",2020-01-11,20.06,311,63,6\n"1564",2020-01-31,20.46,380,64,6\n"1565",2020-01-24,20.7,388,65,6\n"1566",2020-01-20,22.02,332,66,6\n"1567",2020-01-20,21.64,278,67,6\n"1568",2020-01-13,19.71,325,68,6\n"1569",2020-01-07,21.33,175,69,6\n"1570",2020-01-25,20.59,478,70,6\n"1571",2020-01-29,19.93,451,71,6\n"1572",2020-01-13,21.54,218,72,6\n"1573",2020-01-11,21.21,364,73,6\n"1574",2020-01-23,21.05,308,74,6\n"1575",2020-01-16,20.81,207,75,6\n"1576",2020-01-17,21.32,90,76,6\n"1577",2020-01-07,20.75,210,77,6\n"1578",2020-01-10,20.29,275,78,6\n"1579",2020-01-18,21.29,155,79,6\n"1580",2020-01-31,21.67,353,80,6\n"1581",2020-01-26,20.43,152,81,6\n"1582",2020-01-05,21.82,356,82,6\n"1583",2020-01-15,22.13,397,83,6\n"1584",2020-01-09,22.44,211,84,6\n"1585",2020-01-02,20.81,798,85,6\n"1586",2020-01-24,20.62,469,86,6\n"1587",2020-01-30,22.37,172,87,6\n"1588",2020-01-23,20.48,341,88,6\n"1589",2020-01-01,21.94,331,89,6\n"1590",2020-01-25,21.63,250,90,6\n"1591",2020-01-16,21.11,102,91,6\n"1592",2020-01-21,21.15,265,92,6\n"1593",2020-01-20,21.74,211,93,6\n"1594",2020-01-30,22.25,350,94,6\n"1595",2020-01-07,20.32,299,95,6\n"1596",2020-01-16,21.23,246,96,6\n"1597",2020-01-06,20.69,315,97,6\n"1598",2020-01-05,21.61,243,98,6\n"1599",2020-01-19,21.16,195,99,6\n"1600",2020-01-15,22.07,192,100,6\n"1601",2020-01-25,19.76,212,1,7\n"1602",2020-01-31,21.1,412,2,7\n"1603",2020-01-02,21.1,281,3,7\n"1604",2020-01-04,21.46,269,4,7\n"1605",2020-01-14,20.57,227,5,7\n"1606",2020-01-27,21.03,341,6,7\n"1607",2020-01-31,21.1,343,7,7\n"1608",2020-01-21,20.11,278,8,7\n"1609",2020-01-19,19.45,165,9,7\n"1610",2020-01-07,20.25,591,10,7\n"1611",2020-01-21,21.47,956,11,7\n"1612",2020-01-12,20.57,150,12,7\n"1613",2020-01-04,21.4,251,13,7\n"1614",2020-01-15,21.25,263,14,7\n"1615",2020-01-27,20.6,301,15,7\n"1616",2020-01-06,20.11,463,16,7\n"1617",2020-01-18,20.23,219,17,7\n"1618",2020-01-31,21.13,266,18,7\n"1619",2020-01-02,20.08,336,19,7\n"1620",2020-01-28,21.93,418,20,7\n"1621",2020-01-03,19.93,302,21,7\n"1622",2020-01-12,21.5,202,22,7\n"1623",2020-01-13,20.79,293,23,7\n"1624",2020-01-27,21.85,322,24,7\n"1625",2020-01-15,20.85,528,25,7\n"1626",2020-01-28,21.14,214,26,7\n"1627",2020-01-23,20.6,346,27,7\n"1628",2020-01-14,20.82,211,28,7\n"1629",2020-01-15,20.62,217,29,7\n"1630",2020-01-13,21.39,264,30,7\n"1631",2020-01-07,20.8,182,31,7\n"1632",2020-01-29,20.63,395,32,7\n"1633",2020-01-21,21.25,274,33,7\n"1634",2020-01-03,21.19,387,34,7\n"1635",2020-01-15,21.99,263,35,7\n"1636",2020-01-18,19.63,429,36,7\n"1637",2020-01-29,20.81,208,37,7\n"1638",2020-01-13,20.53,957,38,7\n"1639",2020-01-01,21.54,284,39,7\n"1640",2020-01-01,20.65,280,40,7\n"1641",2020-01-12,21.79,521,41,7\n"1642",2020-01-31,21.6,201,42,7\n"1643",2020-01-08,20.7,175,43,7\n"1644",2020-01-09,20.05,210,44,7\n"1645",2020-01-11,21.83,193,45,7\n"1646",2020-01-09,20.89,124,46,7\n"1647",2020-01-12,21.66,128,47,7\n"1648",2020-01-24,21.9,167,48,7\n"1649",2020-01-16,20.82,301,49,7\n"1650",2020-01-05,21.22,386,50,7\n"1651",2020-01-29,22.02,251,51,7\n"1652",2020-01-14,20.58,171,52,7\n"1653",2020-01-12,20.27,365,53,7\n"1654",2020-01-04,19.63,136,54,7\n"1655",2020-01-20,21.63,413,55,7\n"1656",2020-01-12,22,233,56,7\n"1657",2020-01-18,20.88,187,57,7\n"1658",2020-01-02,21.04,343,58,7\n"1659",2020-01-30,20.93,192,59,7\n"1660",2020-01-18,20,261,60,7\n"1661",2020-01-31,20.99,168,61,7\n"1662",2020-01-25,20.29,422,62,7\n"1663",2020-01-11,20.18,248,63,7\n"1664",2020-01-31,22.17,297,64,7\n"1665",2020-01-24,21.32,423,65,7\n"1666",2020-01-20,22.33,146,66,7\n"1667",2020-01-20,20.79,252,67,7\n"1668",2020-01-13,20.81,299,68,7\n"1669",2020-01-07,21.91,233,69,7\n"1670",2020-01-25,21.21,182,70,7\n"1671",2020-01-29,20.71,352,71,7\n"1672",2020-01-13,19.77,607,72,7\n"1673",2020-01-11,20.73,400,73,7\n"1674",2020-01-23,21.18,230,74,7\n"1675",2020-01-16,20.84,184,75,7\n"1676",2020-01-17,21.42,276,76,7\n"1677",2020-01-07,21.04,172,77,7\n"1678",2020-01-10,20.82,266,78,7\n"1679",2020-01-18,19.55,169,79,7\n"1680",2020-01-31,20.6,137,80,7\n"1681",2020-01-26,20.11,346,81,7\n"1682",2020-01-05,19.62,134,82,7\n"1683",2020-01-15,21.56,291,83,7\n"1684",2020-01-09,20.71,199,84,7\n"1685",2020-01-02,20.72,209,85,7\n"1686",2020-01-24,21.71,313,86,7\n"1687",2020-01-30,20.96,255,87,7\n"1688",2020-01-23,21.24,403,88,7\n"1689",2020-01-01,20.98,376,89,7\n"1690",2020-01-25,20.62,222,90,7\n"1691",2020-01-16,19.64,108,91,7\n"1692",2020-01-21,20.28,754,92,7\n"1693",2020-01-20,19.65,253,93,7\n"1694",2020-01-30,20.43,248,94,7\n"1695",2020-01-07,20.75,386,95,7\n"1696",2020-01-16,20.4,201,96,7\n"1697",2020-01-06,20.5,87,97,7\n"1698",2020-01-05,20.93,221,98,7\n"1699",2020-01-19,21.17,229,99,7\n"1700",2020-01-15,19.69,457,100,7\n"1701",2020-01-25,22.07,224,1,8\n"1702",2020-01-31,19.87,140,2,8\n"1703",2020-01-02,21.2,154,3,8\n"1704",2020-01-04,20.81,298,4,8\n"1705",2020-01-14,21.78,741,5,8\n"1706",2020-01-27,22.42,172,6,8\n"1707",2020-01-31,20.79,215,7,8\n"1708",2020-01-21,19.91,318,8,8\n"1709",2020-01-19,20.01,228,9,8\n"1710",2020-01-07,21.16,369,10,8\n"1711",2020-01-21,21.1,206,11,8\n"1712",2020-01-12,19.99,286,12,8\n"1713",2020-01-04,20.56,342,13,8\n"1714",2020-01-15,21.08,158,14,8\n"1715",2020-01-27,19.69,388,15,8\n"1716",2020-01-06,20.59,1160,16,8\n"1717",2020-01-18,20.74,99,17,8\n"1718",2020-01-31,22.07,470,18,8\n"1719",2020-01-02,21.3,189,19,8\n"1720",2020-01-28,20.11,125,20,8\n"1721",2020-01-03,21.33,252,21,8\n"1722",2020-01-12,21.59,364,22,8\n"1723",2020-01-13,19.98,93,23,8\n"1724",2020-01-27,21.03,484,24,8\n"1725",2020-01-15,20.47,480,25,8\n"1726",2020-01-28,20.55,310,26,8\n"1727",2020-01-23,21.1,208,27,8\n"1728",2020-01-14,21.86,888,28,8\n"1729",2020-01-15,21.93,216,29,8\n"1730",2020-01-13,22,156,30,8\n"1731",2020-01-07,21.19,352,31,8\n"1732",2020-01-29,20.36,332,32,8\n"1733",2020-01-21,21.92,312,33,8\n"1734",2020-01-03,21.11,358,34,8\n"1735",2020-01-15,20.29,310,35,8\n"1736",2020-01-18,21.39,248,36,8\n"1737",2020-01-29,22.1,489,37,8\n"1738",2020-01-13,20.94,340,38,8\n"1739",2020-01-01,20.23,225,39,8\n"1740",2020-01-01,20.83,158,40,8\n"1741",2020-01-12,20.32,697,41,8\n"1742",2020-01-31,20.65,382,42,8\n"1743",2020-01-08,21.21,173,43,8\n"1744",2020-01-09,21.02,92,44,8\n"1745",2020-01-11,20.89,434,45,8\n"1746",2020-01-09,20.64,321,46,8\n"1747",2020-01-12,21.57,201,47,8\n"1748",2020-01-24,20.24,254,48,8\n"1749",2020-01-16,21,414,49,8\n"1750",2020-01-05,19.57,225,50,8\n"1751",2020-01-29,22.05,170,51,8\n"1752",2020-01-14,21.28,348,52,8\n"1753",2020-01-12,21.22,360,53,8\n"1754",2020-01-04,21.41,426,54,8\n"1755",2020-01-20,21.66,257,55,8\n"1756",2020-01-12,21.4,140,56,8\n"1757",2020-01-18,21.7,242,57,8\n"1758",2020-01-02,20.54,311,58,8\n"1759",2020-01-30,20.98,110,59,8\n"1760",2020-01-18,20.27,394,60,8\n"1761",2020-01-31,20.76,270,61,8\n"1762",2020-01-25,21.48,407,62,8\n"1763",2020-01-11,21.36,353,63,8\n"1764",2020-01-31,20.79,192,64,8\n"1765",2020-01-24,21.31,251,65,8\n"1766",2020-01-20,21.7,163,66,8\n"1767",2020-01-20,20.75,199,67,8\n"1768",2020-01-13,21.81,309,68,8\n"1769",2020-01-07,20.25,299,69,8\n"1770",2020-01-25,19.59,140,70,8\n"1771",2020-01-29,20.58,128,71,8\n"1772",2020-01-13,20.34,130,72,8\n"1773",2020-01-11,20.44,255,73,8\n"1774",2020-01-23,21.1,135,74,8\n"1775",2020-01-16,20.9,127,75,8\n"1776",2020-01-17,20.97,177,76,8\n"1777",2020-01-07,21.32,388,77,8\n"1778",2020-01-10,20.07,246,78,8\n"1779",2020-01-18,20.43,445,79,8\n"1780",2020-01-31,21.07,223,80,8\n"1781",2020-01-26,19.95,222,81,8\n"1782",2020-01-05,19.98,144,82,8\n"1783",2020-01-15,21.43,250,83,8\n"1784",2020-01-09,21.9,367,84,8\n"1785",2020-01-02,19.81,183,85,8\n"1786",2020-01-24,21.89,281,86,8\n"1787",2020-01-30,21.07,184,87,8\n"1788",2020-01-23,20.98,162,88,8\n"1789",2020-01-01,21.57,463,89,8\n"1790",2020-01-25,20.79,290,90,8\n"1791",2020-01-16,20.7,354,91,8\n"1792",2020-01-21,21.51,282,92,8\n"1793",2020-01-20,20.08,635,93,8\n"1794",2020-01-30,21,279,94,8\n"1795",2020-01-07,21.26,126,95,8\n"1796",2020-01-16,21.13,379,96,8\n"1797",2020-01-06,20.1,561,97,8\n"1798",2020-01-05,20.33,112,98,8\n"1799",2020-01-19,19.77,259,99,8\n"1800",2020-01-15,20.01,160,100,8\n"1801",2020-01-25,22.3,245,1,9\n"1802",2020-01-31,21.72,212,2,9\n"1803",2020-01-02,20.95,425,3,9\n"1804",2020-01-04,21.08,203,4,9\n"1805",2020-01-14,20.86,616,5,9\n"1806",2020-01-27,20.73,291,6,9\n"1807",2020-01-31,20.35,370,7,9\n"1808",2020-01-21,20.79,246,8,9\n"1809",2020-01-19,21.75,312,9,9\n"1810",2020-01-07,20.69,222,10,9\n"1811",2020-01-21,22.36,429,11,9\n"1812",2020-01-12,21.58,217,12,9\n"1813",2020-01-04,20.66,264,13,9\n"1814",2020-01-15,19.78,246,14,9\n"1815",2020-01-27,20.91,193,15,9\n"1816",2020-01-06,20.43,275,16,9\n"1817",2020-01-18,21.33,331,17,9\n"1818",2020-01-31,20.8,269,18,9\n"1819",2020-01-02,21.59,343,19,9\n"1820",2020-01-28,21.09,268,20,9\n"1821",2020-01-03,20.13,409,21,9\n"1822",2020-01-12,21.81,225,22,9\n"1823",2020-01-13,19.63,132,23,9\n"1824",2020-01-27,20.75,365,24,9\n"1825",2020-01-15,21.84,278,25,9\n"1826",2020-01-28,20.72,568,26,9\n"1827",2020-01-23,21.55,192,27,9\n"1828",2020-01-14,20.85,305,28,9\n"1829",2020-01-15,21.67,308,29,9\n"1830",2020-01-13,21.44,216,30,9\n"1831",2020-01-07,21.7,772,31,9\n"1832",2020-01-29,18.99,387,32,9\n"1833",2020-01-21,19.81,216,33,9\n"1834",2020-01-03,20.61,125,34,9\n"1835",2020-01-15,21.47,136,35,9\n"1836",2020-01-18,21.63,376,36,9\n"1837",2020-01-29,21.23,91,37,9\n"1838",2020-01-13,20.46,333,38,9\n"1839",2020-01-01,20.75,353,39,9\n"1840",2020-01-01,21.82,239,40,9\n"1841",2020-01-12,20.73,251,41,9\n"1842",2020-01-31,21.18,147,42,9\n"1843",2020-01-08,21.22,64,43,9\n"1844",2020-01-09,21.78,244,44,9\n"1845",2020-01-11,21.14,124,45,9\n"1846",2020-01-09,19.32,454,46,9\n"1847",2020-01-12,20.42,665,47,9\n"1848",2020-01-24,20.88,362,48,9\n"1849",2020-01-16,20.41,185,49,9\n"1850",2020-01-05,21.09,148,50,9\n"1851",2020-01-29,21.15,478,51,9\n"1852",2020-01-14,20.88,192,52,9\n"1853",2020-01-12,20.52,263,53,9\n"1854",2020-01-04,21.42,247,54,9\n"1855",2020-01-20,20.15,366,55,9\n"1856",2020-01-12,21.9,353,56,9\n"1857",2020-01-18,21.94,268,57,9\n"1858",2020-01-02,20.72,585,58,9\n"1859",2020-01-30,20.34,197,59,9\n"1860",2020-01-18,20.97,208,60,9\n"1861",2020-01-31,19.88,294,61,9\n"1862",2020-01-25,22.14,224,62,9\n"1863",2020-01-11,20.24,132,63,9\n"1864",2020-01-31,21.24,424,64,9\n"1865",2020-01-24,20.46,177,65,9\n"1866",2020-01-20,19.14,299,66,9\n"1867",2020-01-20,21.41,163,67,9\n"1868",2020-01-13,21.43,457,68,9\n"1869",2020-01-07,20.44,381,69,9\n"1870",2020-01-25,20.56,314,70,9\n"1871",2020-01-29,20.19,178,71,9\n"1872",2020-01-13,21.6,354,72,9\n"1873",2020-01-11,20.86,313,73,9\n"1874",2020-01-23,22.61,244,74,9\n"1875",2020-01-16,20.55,243,75,9\n"1876",2020-01-17,20.04,194,76,9\n"1877",2020-01-07,20.08,113,77,9\n"1878",2020-01-10,20.87,190,78,9\n"1879",2020-01-18,21.25,161,79,9\n"1880",2020-01-31,20.06,276,80,9\n"1881",2020-01-26,19,253,81,9\n"1882",2020-01-05,21.28,173,82,9\n"1883",2020-01-15,22.12,152,83,9\n"1884",2020-01-09,21.4,344,84,9\n"1885",2020-01-02,20.86,389,85,9\n"1886",2020-01-24,19.85,220,86,9\n"1887",2020-01-30,21.88,192,87,9\n"1888",2020-01-23,19.65,430,88,9\n"1889",2020-01-01,20.08,239,89,9\n"1890",2020-01-25,22.67,198,90,9\n"1891",2020-01-16,21.72,195,91,9\n"1892",2020-01-21,20.78,154,92,9\n"1893",2020-01-20,21.12,361,93,9\n"1894",2020-01-30,21.45,404,94,9\n"1895",2020-01-07,19.88,192,95,9\n"1896",2020-01-16,19.9,377,96,9\n"1897",2020-01-06,22.18,408,97,9\n"1898",2020-01-05,19.86,130,98,9\n"1899",2020-01-19,20.98,416,99,9\n"1900",2020-01-15,20.84,198,100,9\n"1901",2020-01-25,20.59,142,1,10\n"1902",2020-01-31,20.18,150,2,10\n"1903",2020-01-02,19.69,267,3,10\n"1904",2020-01-04,21.07,284,4,10\n"1905",2020-01-14,21.14,132,5,10\n"1906",2020-01-27,20.54,250,6,10\n"1907",2020-01-31,20.82,327,7,10\n"1908",2020-01-21,20.15,213,8,10\n"1909",2020-01-19,20.9,355,9,10\n"1910",2020-01-07,20.38,267,10,10\n"1911",2020-01-21,21.83,366,11,10\n"1912",2020-01-12,21.99,103,12,10\n"1913",2020-01-04,20.96,243,13,10\n"1914",2020-01-15,20.57,656,14,10\n"1915",2020-01-27,19.38,125,15,10\n"1916",2020-01-06,21.1,392,16,10\n"1917",2020-01-18,21.06,208,17,10\n"1918",2020-01-31,21.14,528,18,10\n"1919",2020-01-02,20.63,192,19,10\n"1920",2020-01-28,20.74,296,20,10\n"1921",2020-01-03,21.24,132,21,10\n"1922",2020-01-12,22.37,354,22,10\n"1923",2020-01-13,20.8,158,23,10\n"1924",2020-01-27,20.45,599,24,10\n"1925",2020-01-15,22.73,498,25,10\n"1926",2020-01-28,21.33,171,26,10\n"1927",2020-01-23,20.08,327,27,10\n"1928",2020-01-14,20.13,383,28,10\n"1929",2020-01-15,19.59,136,29,10\n"1930",2020-01-13,21.69,328,30,10\n"1931",2020-01-07,21.61,261,31,10\n"1932",2020-01-29,20.77,326,32,10\n"1933",2020-01-21,22.34,243,33,10\n"1934",2020-01-03,21.31,202,34,10\n"1935",2020-01-15,21.07,111,35,10\n"1936",2020-01-18,20.03,117,36,10\n"1937",2020-01-29,20.97,532,37,10\n"1938",2020-01-13,21.17,245,38,10\n"1939",2020-01-01,20.51,216,39,10\n"1940",2020-01-01,20.82,362,40,10\n"1941",2020-01-12,21.24,281,41,10\n"1942",2020-01-31,20.89,423,42,10\n"1943",2020-01-08,19.75,339,43,10\n"1944",2020-01-09,19.71,185,44,10\n"1945",2020-01-11,21.46,250,45,10\n"1946",2020-01-09,20.61,286,46,10\n"1947",2020-01-12,20.37,251,47,10\n"1948",2020-01-24,20.04,114,48,10\n"1949",2020-01-16,21.83,253,49,10\n"1950",2020-01-05,21.38,549,50,10\n"1951",2020-01-29,21.57,199,51,10\n"1952",2020-01-14,20.6,126,52,10\n"1953",2020-01-12,19.74,341,53,10\n"1954",2020-01-04,20.01,332,54,10\n"1955",2020-01-20,20.8,275,55,10\n"1956",2020-01-12,19.34,407,56,10\n"1957",2020-01-18,20.48,198,57,10\n"1958",2020-01-02,20.53,152,58,10\n"1959",2020-01-30,21.22,258,59,10\n"1960",2020-01-18,20.71,132,60,10\n"1961",2020-01-31,21.31,161,61,10\n"1962",2020-01-25,21.05,322,62,10\n"1963",2020-01-11,21.08,129,63,10\n"1964",2020-01-31,21.32,160,64,10\n"1965",2020-01-24,19.73,373,65,10\n"1966",2020-01-20,21.24,133,66,10\n"1967",2020-01-20,21.6,288,67,10\n"1968",2020-01-13,20.04,191,68,10\n"1969",2020-01-07,20.84,338,69,10\n"1970",2020-01-25,21.81,186,70,10\n"1971",2020-01-29,20.12,159,71,10\n"1972",2020-01-13,20.19,158,72,10\n"1973",2020-01-11,21.11,211,73,10\n"1974",2020-01-23,20.26,389,74,10\n"1975",2020-01-16,20.22,284,75,10\n"1976",2020-01-17,20.45,261,76,10\n"1977",2020-01-07,21.09,473,77,10\n"1978",2020-01-10,19.46,329,78,10\n"1979",2020-01-18,20.99,218,79,10\n"1980",2020-01-31,21.06,393,80,10\n"1981",2020-01-26,20.92,296,81,10\n"1982",2020-01-05,20.65,259,82,10\n"1983",2020-01-15,21.19,361,83,10\n"1984",2020-01-09,20.81,212,84,10\n"1985",2020-01-02,21.32,436,85,10\n"1986",2020-01-24,20.37,159,86,10\n"1987",2020-01-30,21.82,304,87,10\n"1988",2020-01-23,22.79,377,88,10\n"1989",2020-01-01,20.6,237,89,10\n"1990",2020-01-25,20.82,575,90,10\n"1991",2020-01-16,21.07,382,91,10\n"1992",2020-01-21,21.27,349,92,10\n"1993",2020-01-20,19.62,156,93,10\n"1994",2020-01-30,21.38,204,94,10\n"1995",2020-01-07,21.16,463,95,10\n"1996",2020-01-16,21.64,443,96,10\n"1997",2020-01-06,21.7,523,97,10\n"1998",2020-01-05,22.33,306,98,10\n"1999",2020-01-19,19.73,88,99,10\n"2000",2020-01-15,20.77,152,100,10\n"2001",2020-02-23,20.17,386,1,1\n"2002",2020-02-22,20.84,199,2,1\n"2003",2020-02-24,20.69,561,3,1\n"2004",2020-02-26,20.32,718,4,1\n"2005",2020-02-14,19.32,287,5,1\n"2006",2020-02-16,20.31,1148,6,1\n"2007",2020-02-29,20.27,190,7,1\n"2008",2020-02-14,20.6,308,8,1\n"2009",2020-02-24,21.14,648,9,1\n"2010",2020-02-28,21.08,967,10,1\n"2011",2020-02-28,20.78,389,11,1\n"2012",2020-02-06,20.95,199,12,1\n"2013",2020-02-03,20.66,542,13,1\n"2014",2020-02-28,20.55,1327,14,1\n"2015",2020-02-26,19.86,299,15,1\n"2016",2020-02-02,20.19,192,16,1\n"2017",2020-02-23,19.9,603,17,1\n"2018",2020-02-25,21.11,165,18,1\n"2019",2020-02-29,20.53,354,19,1\n"2020",2020-02-19,20.41,398,20,1\n"2021",2020-02-24,21.44,362,21,1\n"2022",2020-02-04,20.38,228,22,1\n"2023",2020-02-22,19.76,256,23,1\n"2024",2020-02-22,20.57,175,24,1\n"2025",2020-02-27,20.79,198,25,1\n"2026",2020-02-17,20.72,266,26,1\n"2027",2020-02-25,20.5,298,27,1\n"2028",2020-02-27,20.09,485,28,1\n"2029",2020-02-09,20.14,326,29,1\n"2030",2020-02-11,20.5,280,30,1\n"2031",2020-02-22,20.85,442,31,1\n"2032",2020-02-04,19.24,195,32,1\n"2033",2020-02-09,19.27,314,33,1\n"2034",2020-02-01,19.46,405,34,1\n"2035",2020-02-20,20.79,236,35,1\n"2036",2020-02-03,20.9,1231,36,1\n"2037",2020-02-16,20.21,730,37,1\n"2038",2020-02-18,21.4,773,38,1\n"2039",2020-02-16,19.49,244,39,1\n"2040",2020-02-01,20.81,181,40,1\n"2041",2020-02-17,19.98,774,41,1\n"2042",2020-02-13,21.75,296,42,1\n"2043",2020-02-27,21.19,486,43,1\n"2044",2020-02-24,21.02,303,44,1\n"2045",2020-02-23,20.1,286,45,1\n"2046",2020-02-05,21.32,138,46,1\n"2047",2020-02-16,21.22,502,47,1\n"2048",2020-02-28,21.85,390,48,1\n"2049",2020-02-07,19.9,950,49,1\n"2050",2020-02-02,20.79,228,50,1\n"2051",2020-02-19,19.6,432,51,1\n"2052",2020-02-20,20.51,576,52,1\n"2053",2020-02-24,19.97,219,53,1\n"2054",2020-02-05,20.7,371,54,1\n"2055",2020-02-16,20.22,989,55,1\n"2056",2020-02-08,21.11,381,56,1\n"2057",2020-02-22,20.79,437,57,1\n"2058",2020-02-17,19.91,384,58,1\n"2059",2020-02-19,20.82,496,59,1\n"2060",2020-02-06,20.89,502,60,1\n"2061",2020-02-20,21.12,262,61,1\n"2062",2020-02-07,19.8,345,62,1\n"2063",2020-02-16,21.59,264,63,1\n"2064",2020-02-08,20.18,429,64,1\n"2065",2020-02-22,20.08,382,65,1\n"2066",2020-02-28,20.4,489,66,1\n"2067",2020-02-17,20.39,372,67,1\n"2068",2020-02-04,20.43,405,68,1\n"2069",2020-02-17,21.38,285,69,1\n"2070",2020-02-29,21.27,675,70,1\n"2071",2020-02-20,20.17,355,71,1\n"2072",2020-02-27,21.05,154,72,1\n"2073",2020-02-18,20.63,201,73,1\n"2074",2020-02-12,21.32,322,74,1\n"2075",2020-02-19,19.93,247,75,1\n"2076",2020-02-14,18.41,1009,76,1\n"2077",2020-02-10,20.06,246,77,1\n"2078",2020-02-18,19.79,887,78,1\n"2079",2020-02-16,21.06,433,79,1\n"2080",2020-02-27,20.76,281,80,1\n"2081",2020-02-20,21.72,411,81,1\n"2082",2020-02-10,20.01,312,82,1\n"2083",2020-02-17,21.61,582,83,1\n"2084",2020-02-22,20.86,819,84,1\n"2085",2020-02-17,20.47,515,85,1\n"2086",2020-02-26,20.69,606,86,1\n"2087",2020-02-20,20.07,348,87,1\n"2088",2020-02-21,20.73,1261,88,1\n"2089",2020-02-16,19.74,259,89,1\n"2090",2020-02-23,21.25,1033,90,1\n"2091",2020-02-15,19.52,403,91,1\n"2092",2020-02-09,21.27,397,92,1\n"2093",2020-02-04,19.78,403,93,1\n"2094",2020-02-09,20.3,264,94,1\n"2095",2020-02-23,20.4,473,95,1\n"2096",2020-02-06,20.42,201,96,1\n"2097",2020-02-12,20.88,184,97,1\n"2098",2020-02-15,19.37,406,98,1\n"2099",2020-02-04,20.79,851,99,1\n"2100",2020-02-27,20.94,424,100,1\n"2101",2020-02-23,21.58,1049,1,2\n"2102",2020-02-22,20.09,349,2,2\n"2103",2020-02-24,20.09,721,3,2\n"2104",2020-02-26,20.05,276,4,2\n"2105",2020-02-14,20.45,870,5,2\n"2106",2020-02-16,20.33,1064,6,2\n"2107",2020-02-29,19.93,338,7,2\n"2108",2020-02-14,20.67,517,8,2\n"2109",2020-02-24,20.63,451,9,2\n"2110",2020-02-28,20.83,1073,10,2\n"2111",2020-02-28,20.87,182,11,2\n"2112",2020-02-06,21.06,342,12,2\n"2113",2020-02-03,21.19,208,13,2\n"2114",2020-02-28,21.03,125,14,2\n"2115",2020-02-26,20.98,689,15,2\n"2116",2020-02-02,20.34,496,16,2\n"2117",2020-02-23,20.33,253,17,2\n"2118",2020-02-25,20.37,1020,18,2\n"2119",2020-02-29,20.44,136,19,2\n"2120",2020-02-19,20.44,302,20,2\n"2121",2020-02-24,21.67,280,21,2\n"2122",2020-02-04,21.28,593,22,2\n"2123",2020-02-22,20.72,746,23,2\n"2124",2020-02-22,20.39,161,24,2\n"2125",2020-02-27,21.07,286,25,2\n"2126",2020-02-17,20.16,247,26,2\n"2127",2020-02-25,20.83,427,27,2\n"2128",2020-02-27,21.03,417,28,2\n"2129",2020-02-09,21.02,258,29,2\n"2130",2020-02-11,20.67,144,30,2\n"2131",2020-02-22,21.46,306,31,2\n"2132",2020-02-04,20.35,330,32,2\n"2133",2020-02-09,19.67,550,33,2\n"2134",2020-02-01,19.56,425,34,2\n"2135",2020-02-20,20.3,286,35,2\n"2136",2020-02-03,20.62,364,36,2\n"2137",2020-02-16,19.44,297,37,2\n"2138",2020-02-18,20.34,210,38,2\n"2139",2020-02-16,21.81,260,39,2\n"2140",2020-02-01,20.72,442,40,2\n"2141",2020-02-17,20.82,240,41,2\n"2142",2020-02-13,20.92,671,42,2\n"2143",2020-02-27,20.56,220,43,2\n"2144",2020-02-24,20.47,337,44,2\n"2145",2020-02-23,20.05,329,45,2\n"2146",2020-02-05,20.53,219,46,2\n"2147",2020-02-16,20.22,256,47,2\n"2148",2020-02-28,21.08,397,48,2\n"2149",2020-02-07,21.25,392,49,2\n"2150",2020-02-02,20.99,616,50,2\n"2151",2020-02-19,20.46,328,51,2\n"2152",2020-02-20,20.53,279,52,2\n"2153",2020-02-24,20.97,294,53,2\n"2154",2020-02-05,20.14,217,54,2\n"2155",2020-02-16,20.11,176,55,2\n"2156",2020-02-08,20.5,567,56,2\n"2157",2020-02-22,21.3,477,57,2\n"2158",2020-02-17,21.74,718,58,2\n"2159",2020-02-19,21.63,277,59,2\n"2160",2020-02-06,20.2,379,60,2\n"2161",2020-02-20,20.24,795,61,2\n"2162",2020-02-07,20.3,470,62,2\n"2163",2020-02-16,20.82,413,63,2\n"2164",2020-02-08,20.55,219,64,2\n"2165",2020-02-22,19.91,535,65,2\n"2166",2020-02-28,20.42,339,66,2\n"2167",2020-02-17,19.92,433,67,2\n"2168",2020-02-04,20.85,244,68,2\n"2169",2020-02-17,20.19,439,69,2\n"2170",2020-02-29,20.49,459,70,2\n"2171",2020-02-20,21.46,221,71,2\n"2172",2020-02-27,20.76,1116,72,2\n"2173",2020-02-18,20.08,451,73,2\n"2174",2020-02-12,20.71,160,74,2\n"2175",2020-02-19,20.91,623,75,2\n"2176",2020-02-14,20.77,475,76,2\n"2177",2020-02-10,20.18,476,77,2\n"2178",2020-02-18,20.18,724,78,2\n"2179",2020-02-16,20.77,150,79,2\n"2180",2020-02-27,20.65,391,80,2\n"2181",2020-02-20,20.44,382,81,2\n"2182",2020-02-10,20.39,246,82,2\n"2183",2020-02-17,20.25,522,83,2\n"2184",2020-02-22,20.42,727,84,2\n"2185",2020-02-17,20.53,292,85,2\n"2186",2020-02-26,19.88,796,86,2\n"2187",2020-02-20,19.97,760,87,2\n"2188",2020-02-21,21.27,442,88,2\n"2189",2020-02-16,20.47,683,89,2\n"2190",2020-02-23,20.26,266,90,2\n"2191",2020-02-15,20.38,352,91,2\n"2192",2020-02-09,20.86,601,92,2\n"2193",2020-02-04,21.09,464,93,2\n"2194",2020-02-09,19.88,326,94,2\n"2195",2020-02-23,20.81,252,95,2\n"2196",2020-02-06,19.57,376,96,2\n"2197",2020-02-12,21.23,364,97,2\n"2198",2020-02-15,21,1073,98,2\n"2199",2020-02-04,20.45,345,99,2\n"2200",2020-02-27,21.3,251,100,2\n"2201",2020-02-23,20.44,498,1,3\n"2202",2020-02-22,20.96,326,2,3\n"2203",2020-02-24,20.6,295,3,3\n"2204",2020-02-26,21.47,608,4,3\n"2205",2020-02-14,20.3,428,5,3\n"2206",2020-02-16,20.79,150,6,3\n"2207",2020-02-29,20.17,238,7,3\n"2208",2020-02-14,20.11,377,8,3\n"2209",2020-02-24,21.05,461,9,3\n"2210",2020-02-28,20.46,233,10,3\n"2211",2020-02-28,20.56,316,11,3\n"2212",2020-02-06,19,440,12,3\n"2213",2020-02-03,19.9,308,13,3\n"2214",2020-02-28,22.05,358,14,3\n"2215",2020-02-26,20.48,401,15,3\n"2216",2020-02-02,21.82,272,16,3\n"2217",2020-02-23,20.68,544,17,3\n"2218",2020-02-25,21.6,582,18,3\n"2219",2020-02-29,20.41,434,19,3\n"2220",2020-02-19,20.66,426,20,3\n"2221",2020-02-24,20.23,158,21,3\n"2222",2020-02-04,19.79,426,22,3\n"2223",2020-02-22,19.64,165,23,3\n"2224",2020-02-22,20.32,247,24,3\n"2225",2020-02-27,20.8,731,25,3\n"2226",2020-02-17,20.61,698,26,3\n"2227",2020-02-25,21.62,337,27,3\n"2228",2020-02-27,19.65,174,28,3\n"2229",2020-02-09,20.62,739,29,3\n"2230",2020-02-11,19.88,450,30,3\n"2231",2020-02-22,20.51,353,31,3\n"2232",2020-02-04,20.98,314,32,3\n"2233",2020-02-09,21.2,334,33,3\n"2234",2020-02-01,21.05,170,34,3\n"2235",2020-02-20,20.95,346,35,3\n"2236",2020-02-03,20.43,111,36,3\n"2237",2020-02-16,21.14,863,37,3\n"2238",2020-02-18,19.21,193,38,3\n"2239",2020-02-16,20.11,421,39,3\n"2240",2020-02-01,19.1,579,40,3\n"2241",2020-02-17,21.22,567,41,3\n"2242",2020-02-13,20.81,387,42,3\n"2243",2020-02-27,20.72,597,43,3\n"2244",2020-02-24,20.74,227,44,3\n"2245",2020-02-23,20.7,269,45,3\n"2246",2020-02-05,20.8,423,46,3\n"2247",2020-02-16,20.57,238,47,3\n"2248",2020-02-28,20.48,264,48,3\n"2249",2020-02-07,19.95,806,49,3\n"2250",2020-02-02,20.36,269,50,3\n"2251",2020-02-19,20.23,376,51,3\n"2252",2020-02-20,21.02,554,52,3\n"2253",2020-02-24,20.68,272,53,3\n"2254",2020-02-05,20.07,360,54,3\n"2255",2020-02-16,20.36,246,55,3\n"2256",2020-02-08,21.68,237,56,3\n"2257",2020-02-22,20.74,326,57,3\n"2258",2020-02-17,20.68,294,58,3\n"2259",2020-02-19,20.34,143,59,3\n"2260",2020-02-06,19.77,490,60,3\n"2261",2020-02-20,20.44,224,61,3\n"2262",2020-02-07,19.71,414,62,3\n"2263",2020-02-16,19.52,317,63,3\n"2264",2020-02-08,20.54,282,64,3\n"2265",2020-02-22,21.04,531,65,3\n"2266",2020-02-28,20.18,729,66,3\n"2267",2020-02-17,21.51,414,67,3\n"2268",2020-02-04,20.13,274,68,3\n"2269",2020-02-17,20.71,143,69,3\n"2270",2020-02-29,19.9,592,70,3\n"2271",2020-02-20,20.13,577,71,3\n"2272",2020-02-27,20.1,639,72,3\n"2273",2020-02-18,20.19,104,73,3\n"2274",2020-02-12,21.25,181,74,3\n"2275",2020-02-19,21.33,1453,75,3\n"2276",2020-02-14,20.16,292,76,3\n"2277",2020-02-10,19.63,276,77,3\n"2278",2020-02-18,21.49,650,78,3\n"2279",2020-02-16,20.43,397,79,3\n"2280",2020-02-27,19.9,219,80,3\n"2281",2020-02-20,19.75,404,81,3\n"2282",2020-02-10,20.48,580,82,3\n"2283",2020-02-17,20.79,634,83,3\n"2284",2020-02-22,21.26,385,84,3\n"2285",2020-02-17,21.29,498,85,3\n"2286",2020-02-26,20.67,408,86,3\n"2287",2020-02-20,19.74,574,87,3\n"2288",2020-02-21,20.96,458,88,3\n"2289",2020-02-16,20.16,104,89,3\n"2290",2020-02-23,21.21,316,90,3\n"2291",2020-02-15,20.7,425,91,3\n"2292",2020-02-09,20.12,418,92,3\n"2293",2020-02-04,21.05,449,93,3\n"2294",2020-02-09,20.52,702,94,3\n"2295",2020-02-23,19.81,129,95,3\n"2296",2020-02-06,21.12,758,96,3\n"2297",2020-02-12,20.67,443,97,3\n"2298",2020-02-15,19.54,339,98,3\n"2299",2020-02-04,21.88,230,99,3\n"2300",2020-02-27,20.66,316,100,3\n"2301",2020-02-23,19.59,390,1,4\n"2302",2020-02-22,19.93,327,2,4\n"2303",2020-02-24,20.65,1009,3,4\n"2304",2020-02-26,20.66,165,4,4\n"2305",2020-02-14,20.48,230,5,4\n"2306",2020-02-16,19.52,687,6,4\n"2307",2020-02-29,20.69,656,7,4\n"2308",2020-02-14,21.26,677,8,4\n"2309",2020-02-24,19.83,321,9,4\n"2310",2020-02-28,19.31,204,10,4\n"2311",2020-02-28,20.51,1208,11,4\n"2312",2020-02-06,21.16,285,12,4\n"2313",2020-02-03,19.58,300,13,4\n"2314",2020-02-28,19.95,143,14,4\n"2315",2020-02-26,21.78,542,15,4\n"2316",2020-02-02,21.37,592,16,4\n"2317",2020-02-23,21,230,17,4\n"2318",2020-02-25,21.27,149,18,4\n"2319",2020-02-29,21.02,320,19,4\n"2320",2020-02-19,20.18,365,20,4\n"2321",2020-02-24,20.6,552,21,4\n"2322",2020-02-04,20.28,352,22,4\n"2323",2020-02-22,21.07,207,23,4\n"2324",2020-02-22,19.7,463,24,4\n"2325",2020-02-27,19.92,429,25,4\n"2326",2020-02-17,20.98,273,26,4\n"2327",2020-02-25,20.53,433,27,4\n"2328",2020-02-27,19.12,531,28,4\n"2329",2020-02-09,20.64,466,29,4\n"2330",2020-02-11,20.68,358,30,4\n"2331",2020-02-22,21.54,318,31,4\n"2332",2020-02-04,20.39,248,32,4\n"2333",2020-02-09,20.51,225,33,4\n"2334",2020-02-01,20.93,637,34,4\n"2335",2020-02-20,20.76,526,35,4\n"2336",2020-02-03,21.36,296,36,4\n"2337",2020-02-16,21.26,569,37,4\n"2338",2020-02-18,20.24,547,38,4\n"2339",2020-02-16,20.26,289,39,4\n"2340",2020-02-01,20.13,865,40,4\n"2341",2020-02-17,20.61,599,41,4\n"2342",2020-02-13,20.17,227,42,4\n"2343",2020-02-27,20.08,436,43,4\n"2344",2020-02-24,20.38,198,44,4\n"2345",2020-02-23,20.21,498,45,4\n"2346",2020-02-05,20.75,116,46,4\n"2347",2020-02-16,19.57,262,47,4\n"2348",2020-02-28,21.05,245,48,4\n"2349",2020-02-07,20.88,358,49,4\n"2350",2020-02-02,20.9,273,50,4\n"2351",2020-02-19,20.88,230,51,4\n"2352",2020-02-20,19.89,354,52,4\n"2353",2020-02-24,19.6,360,53,4\n"2354",2020-02-05,20.22,348,54,4\n"2355",2020-02-16,21.64,153,55,4\n"2356",2020-02-08,21.36,285,56,4\n"2357",2020-02-22,20.68,1137,57,4\n"2358",2020-02-17,20.11,625,58,4\n"2359",2020-02-19,20.22,584,59,4\n"2360",2020-02-06,19.77,283,60,4\n"2361",2020-02-20,21.18,102,61,4\n"2362",2020-02-07,20.87,437,62,4\n"2363",2020-02-16,20.4,352,63,4\n"2364",2020-02-08,21.25,474,64,4\n"2365",2020-02-22,20.53,500,65,4\n"2366",2020-02-28,19.29,231,66,4\n"2367",2020-02-17,21.09,79,67,4\n"2368",2020-02-04,20.63,507,68,4\n"2369",2020-02-17,20.42,447,69,4\n"2370",2020-02-29,20.66,295,70,4\n"2371",2020-02-20,20.75,388,71,4\n"2372",2020-02-27,21.02,370,72,4\n"2373",2020-02-18,21.97,221,73,4\n"2374",2020-02-12,20.32,447,74,4\n"2375",2020-02-19,20.74,148,75,4\n"2376",2020-02-14,20.27,601,76,4\n"2377",2020-02-10,20.54,214,77,4\n"2378",2020-02-18,20.37,451,78,4\n"2379",2020-02-16,20.01,375,79,4\n"2380",2020-02-27,20.93,315,80,4\n"2381",2020-02-20,20.22,225,81,4\n"2382",2020-02-10,20.08,822,82,4\n"2383",2020-02-17,21.07,311,83,4\n"2384",2020-02-22,22.06,565,84,4\n"2385",2020-02-17,20.6,343,85,4\n"2386",2020-02-26,21.49,167,86,4\n"2387",2020-02-20,21.14,666,87,4\n"2388",2020-02-21,20.56,463,88,4\n"2389",2020-02-16,20.52,368,89,4\n"2390",2020-02-23,19.93,532,90,4\n"2391",2020-02-15,21.56,519,91,4\n"2392",2020-02-09,20.58,129,92,4\n"2393",2020-02-04,20.46,432,93,4\n"2394",2020-02-09,19.63,384,94,4\n"2395",2020-02-23,19.81,179,95,4\n"2396",2020-02-06,20.59,441,96,4\n"2397",2020-02-12,20.69,731,97,4\n"2398",2020-02-15,19.54,270,98,4\n"2399",2020-02-04,20.34,190,99,4\n"2400",2020-02-27,21.3,353,100,4\n"2401",2020-02-23,19.49,566,1,5\n"2402",2020-02-22,19.74,286,2,5\n"2403",2020-02-24,20.24,481,3,5\n"2404",2020-02-26,20.59,189,4,5\n"2405",2020-02-14,20.33,375,5,5\n"2406",2020-02-16,20.49,500,6,5\n"2407",2020-02-29,19.72,187,7,5\n"2408",2020-02-14,19.59,532,8,5\n"2409",2020-02-24,21.16,659,9,5\n"2410",2020-02-28,21.3,154,10,5\n"2411",2020-02-28,20.05,555,11,5\n"2412",2020-02-06,20.5,400,12,5\n"2413",2020-02-03,19.66,650,13,5\n"2414",2020-02-28,19.83,667,14,5\n"2415",2020-02-26,20.31,176,15,5\n"2416",2020-02-02,20.67,197,16,5\n"2417",2020-02-23,20.8,333,17,5\n"2418",2020-02-25,20.6,606,18,5\n"2419",2020-02-29,20.11,351,19,5\n"2420",2020-02-19,20.99,585,20,5\n"2421",2020-02-24,20.35,295,21,5\n"2422",2020-02-04,21.55,750,22,5\n"2423",2020-02-22,21.84,278,23,5\n"2424",2020-02-22,20.04,138,24,5\n"2425",2020-02-27,20.58,602,25,5\n"2426",2020-02-17,19.64,401,26,5\n"2427",2020-02-25,19.85,497,27,5\n"2428",2020-02-27,20,298,28,5\n"2429",2020-02-09,20.09,250,29,5\n"2430",2020-02-11,21.21,661,30,5\n"2431",2020-02-22,20.13,437,31,5\n"2432",2020-02-04,20.44,453,32,5\n"2433",2020-02-09,19.33,247,33,5\n"2434",2020-02-01,19.75,178,34,5\n"2435",2020-02-20,21.08,961,35,5\n"2436",2020-02-03,20.11,274,36,5\n"2437",2020-02-16,21.36,585,37,5\n"2438",2020-02-18,20.44,444,38,5\n"2439",2020-02-16,19.61,499,39,5\n"2440",2020-02-01,20.74,487,40,5\n"2441",2020-02-17,21.2,217,41,5\n"2442",2020-02-13,19.84,198,42,5\n"2443",2020-02-27,19.33,770,43,5\n"2444",2020-02-24,21.21,260,44,5\n"2445",2020-02-23,20.72,187,45,5\n"2446",2020-02-05,20.21,182,46,5\n"2447",2020-02-16,20.04,345,47,5\n"2448",2020-02-28,20.46,410,48,5\n"2449",2020-02-07,20.62,199,49,5\n"2450",2020-02-02,20.04,682,50,5\n"2451",2020-02-19,20.67,543,51,5\n"2452",2020-02-20,20.3,126,52,5\n"2453",2020-02-24,19.43,1127,53,5\n"2454",2020-02-05,19.55,1075,54,5\n"2455",2020-02-16,20.9,405,55,5\n"2456",2020-02-08,20.32,151,56,5\n"2457",2020-02-22,20.57,619,57,5\n"2458",2020-02-17,21.29,458,58,5\n"2459",2020-02-19,20.28,386,59,5\n"2460",2020-02-06,20.42,765,60,5\n"2461",2020-02-20,20.18,133,61,5\n"2462",2020-02-07,20.82,438,62,5\n"2463",2020-02-16,21.27,242,63,5\n"2464",2020-02-08,19.86,399,64,5\n"2465",2020-02-22,19.99,517,65,5\n"2466",2020-02-28,21.28,209,66,5\n"2467",2020-02-17,20.05,273,67,5\n"2468",2020-02-04,19.23,358,68,5\n"2469",2020-02-17,19.97,428,69,5\n"2470",2020-02-29,19.42,1491,70,5\n"2471",2020-02-20,19.99,149,71,5\n"2472",2020-02-27,20.42,183,72,5\n"2473",2020-02-18,20.66,218,73,5\n"2474",2020-02-12,20.09,237,74,5\n"2475",2020-02-19,20.93,301,75,5\n"2476",2020-02-14,20.84,189,76,5\n"2477",2020-02-10,20.21,130,77,5\n"2478",2020-02-18,20.23,833,78,5\n"2479",2020-02-16,20.67,498,79,5\n"2480",2020-02-27,20.67,369,80,5\n"2481",2020-02-20,20.25,417,81,5\n"2482",2020-02-10,20.02,205,82,5\n"2483",2020-02-17,19.29,270,83,5\n"2484",2020-02-22,20.08,338,84,5\n"2485",2020-02-17,20.29,165,85,5\n"2486",2020-02-26,20.53,595,86,5\n"2487",2020-02-20,19.97,681,87,5\n"2488",2020-02-21,20.75,398,88,5\n"2489",2020-02-16,20.94,673,89,5\n"2490",2020-02-23,19.83,372,90,5\n"2491",2020-02-15,20.68,829,91,5\n"2492",2020-02-09,19.7,494,92,5\n"2493",2020-02-04,19.91,227,93,5\n"2494",2020-02-09,20.02,133,94,5\n"2495",2020-02-23,20.75,472,95,5\n"2496",2020-02-06,20.53,233,96,5\n"2497",2020-02-12,21.03,500,97,5\n"2498",2020-02-15,19.97,382,98,5\n"2499",2020-02-04,19.55,364,99,5\n"2500",2020-02-27,21.73,169,100,5\n"2501",2020-02-23,20.78,577,1,6\n"2502",2020-02-22,20.18,119,2,6\n"2503",2020-02-24,20.8,253,3,6\n"2504",2020-02-26,20.96,379,4,6\n"2505",2020-02-14,21.94,342,5,6\n"2506",2020-02-16,20.67,342,6,6\n"2507",2020-02-29,20.27,327,7,6\n"2508",2020-02-14,20.71,81,8,6\n"2509",2020-02-24,19.54,438,9,6\n"2510",2020-02-28,20.41,565,10,6\n"2511",2020-02-28,21.09,171,11,6\n"2512",2020-02-06,21.28,747,12,6\n"2513",2020-02-03,19.86,220,13,6\n"2514",2020-02-28,19.68,299,14,6\n"2515",2020-02-26,20.16,493,15,6\n"2516",2020-02-02,20.08,608,16,6\n"2517",2020-02-23,21.77,379,17,6\n"2518",2020-02-25,21.07,236,18,6\n"2519",2020-02-29,19.4,224,19,6\n"2520",2020-02-19,19.62,193,20,6\n"2521",2020-02-24,20.4,236,21,6\n"2522",2020-02-04,19.2,424,22,6\n"2523",2020-02-22,20.53,267,23,6\n"2524",2020-02-22,20.7,193,24,6\n"2525",2020-02-27,20.78,775,25,6\n"2526",2020-02-17,21.61,260,26,6\n"2527",2020-02-25,20.42,189,27,6\n"2528",2020-02-27,20.62,453,28,6\n"2529",2020-02-09,19.76,204,29,6\n"2530",2020-02-11,20.99,232,30,6\n"2531",2020-02-22,21.55,404,31,6\n"2532",2020-02-04,19.63,205,32,6\n"2533",2020-02-09,21.27,229,33,6\n"2534",2020-02-01,21.09,159,34,6\n"2535",2020-02-20,19.82,794,35,6\n"2536",2020-02-03,20.63,603,36,6\n"2537",2020-02-16,20.44,239,37,6\n"2538",2020-02-18,20.2,490,38,6\n"2539",2020-02-16,20.43,150,39,6\n"2540",2020-02-01,21.5,301,40,6\n"2541",2020-02-17,20.85,230,41,6\n"2542",2020-02-13,20.64,311,42,6\n"2543",2020-02-27,21.22,413,43,6\n"2544",2020-02-24,21.35,361,44,6\n"2545",2020-02-23,21.26,257,45,6\n"2546",2020-02-05,20.41,751,46,6\n"2547",2020-02-16,20.15,739,47,6\n"2548",2020-02-28,20.12,392,48,6\n"2549",2020-02-07,20.42,287,49,6\n"2550",2020-02-02,20.09,443,50,6\n"2551",2020-02-19,20.24,380,51,6\n"2552",2020-02-20,20.57,379,52,6\n"2553",2020-02-24,19.69,936,53,6\n"2554",2020-02-05,20.67,126,54,6\n"2555",2020-02-16,20.72,238,55,6\n"2556",2020-02-08,20.23,575,56,6\n"2557",2020-02-22,22.18,345,57,6\n"2558",2020-02-17,19.55,588,58,6\n"2559",2020-02-19,19.96,509,59,6\n"2560",2020-02-06,20.1,207,60,6\n"2561",2020-02-20,20.38,273,61,6\n"2562",2020-02-07,19.94,228,62,6\n"2563",2020-02-16,21.03,442,63,6\n"2564",2020-02-08,21.15,458,64,6\n"2565",2020-02-22,20.57,463,65,6\n"2566",2020-02-28,19.25,1355,66,6\n"2567",2020-02-17,20.51,265,67,6\n"2568",2020-02-04,21.31,329,68,6\n"2569",2020-02-17,19.68,373,69,6\n"2570",2020-02-29,19.97,246,70,6\n"2571",2020-02-20,20.21,273,71,6\n"2572",2020-02-27,21.07,434,72,6\n"2573",2020-02-18,20.77,435,73,6\n"2574",2020-02-12,21.44,261,74,6\n"2575",2020-02-19,21.61,467,75,6\n"2576",2020-02-14,21.72,590,76,6\n"2577",2020-02-10,20.4,410,77,6\n"2578",2020-02-18,19.62,411,78,6\n"2579",2020-02-16,20.97,309,79,6\n"2580",2020-02-27,20.2,548,80,6\n"2581",2020-02-20,20.76,671,81,6\n"2582",2020-02-10,21.2,313,82,6\n"2583",2020-02-17,21.32,180,83,6\n"2584",2020-02-22,20.13,251,84,6\n"2585",2020-02-17,19.66,343,85,6\n"2586",2020-02-26,19.56,613,86,6\n"2587",2020-02-20,19.48,547,87,6\n"2588",2020-02-21,21.46,568,88,6\n"2589",2020-02-16,20.15,425,89,6\n"2590",2020-02-23,20.87,566,90,6\n"2591",2020-02-15,20.49,285,91,6\n"2592",2020-02-09,20.38,207,92,6\n"2593",2020-02-04,19.81,137,93,6\n"2594",2020-02-09,21.11,379,94,6\n"2595",2020-02-23,20.58,158,95,6\n"2596",2020-02-06,19.02,447,96,6\n"2597",2020-02-12,19.6,278,97,6\n"2598",2020-02-15,20.24,563,98,6\n"2599",2020-02-04,19.43,597,99,6\n"2600",2020-02-27,20.63,292,100,6\n"2601",2020-02-23,20.04,422,1,7\n"2602",2020-02-22,19.8,334,2,7\n"2603",2020-02-24,20.47,609,3,7\n"2604",2020-02-26,20.02,569,4,7\n"2605",2020-02-14,20.1,255,5,7\n"2606",2020-02-16,21.03,146,6,7\n"2607",2020-02-29,21.21,180,7,7\n"2608",2020-02-14,20.29,714,8,7\n"2609",2020-02-24,20.81,364,9,7\n"2610",2020-02-28,20.36,206,10,7\n"2611",2020-02-28,19.86,448,11,7\n"2612",2020-02-06,20.64,333,12,7\n"2613",2020-02-03,20.76,572,13,7\n"2614",2020-02-28,20.96,576,14,7\n"2615",2020-02-26,20.79,208,15,7\n"2616",2020-02-02,19.21,249,16,7\n"2617",2020-02-23,20.53,370,17,7\n"2618",2020-02-25,21.36,231,18,7\n"2619",2020-02-29,21.29,163,19,7\n"2620",2020-02-19,20.18,489,20,7\n"2621",2020-02-24,20.56,314,21,7\n"2622",2020-02-04,21.22,317,22,7\n"2623",2020-02-22,21.3,822,23,7\n"2624",2020-02-22,20.08,215,24,7\n"2625",2020-02-27,20.68,300,25,7\n"2626",2020-02-17,19.75,685,26,7\n"2627",2020-02-25,21.02,333,27,7\n"2628",2020-02-27,20.91,273,28,7\n"2629",2020-02-09,21.46,347,29,7\n"2630",2020-02-11,20.82,319,30,7\n"2631",2020-02-22,19.56,325,31,7\n"2632",2020-02-04,20.36,656,32,7\n"2633",2020-02-09,19.6,464,33,7\n"2634",2020-02-01,20.22,557,34,7\n"2635",2020-02-20,20.25,413,35,7\n"2636",2020-02-03,21.97,751,36,7\n"2637",2020-02-16,20.82,320,37,7\n"2638",2020-02-18,20.31,232,38,7\n"2639",2020-02-16,20.89,459,39,7\n"2640",2020-02-01,20.63,449,40,7\n"2641",2020-02-17,20.16,402,41,7\n"2642",2020-02-13,20.58,119,42,7\n"2643",2020-02-27,20.11,336,43,7\n"2644",2020-02-24,20.44,410,44,7\n"2645",2020-02-23,20.41,485,45,7\n"2646",2020-02-05,20.38,328,46,7\n"2647",2020-02-16,21.26,487,47,7\n"2648",2020-02-28,19.79,294,48,7\n"2649",2020-02-07,20.92,453,49,7\n"2650",2020-02-02,21.89,190,50,7\n"2651",2020-02-19,20.12,390,51,7\n"2652",2020-02-20,20.8,341,52,7\n"2653",2020-02-24,19.88,303,53,7\n"2654",2020-02-05,21.17,276,54,7\n"2655",2020-02-16,20.3,210,55,7\n"2656",2020-02-08,20.58,120,56,7\n"2657",2020-02-22,19.28,216,57,7\n"2658",2020-02-17,20.6,538,58,7\n"2659",2020-02-19,21.52,425,59,7\n"2660",2020-02-06,20.92,477,60,7\n"2661",2020-02-20,19.4,1517,61,7\n"2662",2020-02-07,20.2,370,62,7\n"2663",2020-02-16,20.42,306,63,7\n"2664",2020-02-08,19.83,254,64,7\n"2665",2020-02-22,20.74,363,65,7\n"2666",2020-02-28,19.29,175,66,7\n"2667",2020-02-17,20.95,307,67,7\n"2668",2020-02-04,20.29,488,68,7\n"2669",2020-02-17,20.02,430,69,7\n"2670",2020-02-29,19.89,397,70,7\n"2671",2020-02-20,20.52,1078,71,7\n"2672",2020-02-27,20.98,255,72,7\n"2673",2020-02-18,20.97,399,73,7\n"2674",2020-02-12,20.91,383,74,7\n"2675",2020-02-19,20.86,559,75,7\n"2676",2020-02-14,20.08,159,76,7\n"2677",2020-02-10,21.64,269,77,7\n"2678",2020-02-18,20.15,136,78,7\n"2679",2020-02-16,21.72,172,79,7\n"2680",2020-02-27,21.33,566,80,7\n"2681",2020-02-20,19.58,606,81,7\n"2682",2020-02-10,21.99,224,82,7\n"2683",2020-02-17,18.49,582,83,7\n"2684",2020-02-22,21.7,121,84,7\n"2685",2020-02-17,20.26,433,85,7\n"2686",2020-02-26,19.82,777,86,7\n"2687",2020-02-20,20.39,616,87,7\n"2688",2020-02-21,19.87,201,88,7\n"2689",2020-02-16,22.01,407,89,7\n"2690",2020-02-23,20.11,439,90,7\n"2691",2020-02-15,20.51,552,91,7\n"2692",2020-02-09,19.92,237,92,7\n"2693",2020-02-04,19.51,458,93,7\n"2694",2020-02-09,19.71,124,94,7\n"2695",2020-02-23,20.02,324,95,7\n"2696",2020-02-06,21.54,278,96,7\n"2697",2020-02-12,19.58,252,97,7\n"2698",2020-02-15,20.76,370,98,7\n"2699",2020-02-04,20.54,370,99,7\n"2700",2020-02-27,20.84,467,100,7\n"2701",2020-02-23,20.06,408,1,8\n"2702",2020-02-22,20.82,514,2,8\n"2703",2020-02-24,21.11,169,3,8\n"2704",2020-02-26,20.11,518,4,8\n"2705",2020-02-14,20.07,564,5,8\n"2706",2020-02-16,19.92,195,6,8\n"2707",2020-02-29,20.74,318,7,8\n"2708",2020-02-14,20.58,218,8,8\n"2709",2020-02-24,21.62,821,9,8\n"2710",2020-02-28,20.23,272,10,8\n"2711",2020-02-28,19.88,260,11,8\n"2712",2020-02-06,20.74,400,12,8\n"2713",2020-02-03,20.89,356,13,8\n"2714",2020-02-28,19.51,999,14,8\n"2715",2020-02-26,20.3,253,15,8\n"2716",2020-02-02,20.27,295,16,8\n"2717",2020-02-23,19.71,250,17,8\n"2718",2020-02-25,20.45,242,18,8\n"2719",2020-02-29,20.11,356,19,8\n"2720",2020-02-19,20.76,385,20,8\n"2721",2020-02-24,20.16,349,21,8\n"2722",2020-02-04,21.77,127,22,8\n"2723",2020-02-22,20.22,663,23,8\n"2724",2020-02-22,20.07,575,24,8\n"2725",2020-02-27,20.94,183,25,8\n"2726",2020-02-17,21.07,396,26,8\n"2727",2020-02-25,19.16,301,27,8\n"2728",2020-02-27,20.53,295,28,8\n"2729",2020-02-09,19.67,415,29,8\n"2730",2020-02-11,19.99,223,30,8\n"2731",2020-02-22,20.69,310,31,8\n"2732",2020-02-04,20.99,232,32,8\n"2733",2020-02-09,20.37,459,33,8\n"2734",2020-02-01,20.56,234,34,8\n"2735",2020-02-20,19.99,315,35,8\n"2736",2020-02-03,20.47,383,36,8\n"2737",2020-02-16,20.64,299,37,8\n"2738",2020-02-18,20.09,410,38,8\n"2739",2020-02-16,20.44,271,39,8\n"2740",2020-02-01,20.6,378,40,8\n"2741",2020-02-17,19.99,658,41,8\n"2742",2020-02-13,20.2,278,42,8\n"2743",2020-02-27,19.41,506,43,8\n"2744",2020-02-24,19.95,368,44,8\n"2745",2020-02-23,20.05,526,45,8\n"2746",2020-02-05,19.96,345,46,8\n"2747",2020-02-16,19.91,181,47,8\n"2748",2020-02-28,19.57,432,48,8\n"2749",2020-02-07,20.69,500,49,8\n"2750",2020-02-02,20.98,700,50,8\n"2751",2020-02-19,21.07,537,51,8\n"2752",2020-02-20,20.79,199,52,8\n"2753",2020-02-24,20.05,511,53,8\n"2754",2020-02-05,20.78,304,54,8\n"2755",2020-02-16,20.39,186,55,8\n"2756",2020-02-08,19.73,103,56,8\n"2757",2020-02-22,20.24,273,57,8\n"2758",2020-02-17,20.2,751,58,8\n"2759",2020-02-19,19.88,187,59,8\n"2760",2020-02-06,19.45,727,60,8\n"2761",2020-02-20,21.33,202,61,8\n"2762",2020-02-07,20.3,547,62,8\n"2763",2020-02-16,19.98,229,63,8\n"2764",2020-02-08,21.3,227,64,8\n"2765",2020-02-22,21,278,65,8\n"2766",2020-02-28,20.1,473,66,8\n"2767",2020-02-17,21.24,825,67,8\n"2768",2020-02-04,21.39,632,68,8\n"2769",2020-02-17,20.72,607,69,8\n"2770",2020-02-29,21.15,301,70,8\n"2771",2020-02-20,20.1,342,71,8\n"2772",2020-02-27,22.89,619,72,8\n"2773",2020-02-18,19.33,380,73,8\n"2774",2020-02-12,21.49,460,74,8\n"2775",2020-02-19,21.07,281,75,8\n"2776",2020-02-14,20.64,131,76,8\n"2777",2020-02-10,20.65,326,77,8\n"2778",2020-02-18,19.79,470,78,8\n"2779",2020-02-16,21.36,836,79,8\n"2780",2020-02-27,19.49,242,80,8\n"2781",2020-02-20,20.87,405,81,8\n"2782",2020-02-10,20.32,776,82,8\n"2783",2020-02-17,20.42,321,83,8\n"2784",2020-02-22,20.88,340,84,8\n"2785",2020-02-17,20.47,440,85,8\n"2786",2020-02-26,19.63,299,86,8\n"2787",2020-02-20,20.07,237,87,8\n"2788",2020-02-21,20.15,260,88,8\n"2789",2020-02-16,20.3,708,89,8\n"2790",2020-02-23,20.05,534,90,8\n"2791",2020-02-15,20.27,688,91,8\n"2792",2020-02-09,19.82,215,92,8\n"2793",2020-02-04,21.1,663,93,8\n"2794",2020-02-09,21.07,1035,94,8\n"2795",2020-02-23,19.54,386,95,8\n"2796",2020-02-06,20.86,151,96,8\n"2797",2020-02-12,21.01,355,97,8\n"2798",2020-02-15,20.94,474,98,8\n"2799",2020-02-04,21.54,234,99,8\n"2800",2020-02-27,20.66,304,100,8\n"2801",2020-02-23,20.11,566,1,9\n"2802",2020-02-22,20.5,505,2,9\n"2803",2020-02-24,20.61,215,3,9\n"2804",2020-02-26,20.36,236,4,9\n"2805",2020-02-14,20.94,181,5,9\n"2806",2020-02-16,20.41,482,6,9\n"2807",2020-02-29,19.9,390,7,9\n"2808",2020-02-14,20.84,133,8,9\n"2809",2020-02-24,20.8,460,9,9\n"2810",2020-02-28,20.45,340,10,9\n"2811",2020-02-28,21.15,336,11,9\n"2812",2020-02-06,21.02,173,12,9\n"2813",2020-02-03,19.25,150,13,9\n"2814",2020-02-28,19.81,210,14,9\n"2815",2020-02-26,20.98,407,15,9\n"2816",2020-02-02,19.86,263,16,9\n"2817",2020-02-23,20.88,455,17,9\n"2818",2020-02-25,20.7,678,18,9\n"2819",2020-02-29,18.92,292,19,9\n"2820",2020-02-19,20.22,471,20,9\n"2821",2020-02-24,19.53,320,21,9\n"2822",2020-02-04,20.64,815,22,9\n"2823",2020-02-22,20.7,361,23,9\n"2824",2020-02-22,20.91,231,24,9\n"2825",2020-02-27,21.06,327,25,9\n"2826",2020-02-17,20.54,648,26,9\n"2827",2020-02-25,20.42,715,27,9\n"2828",2020-02-27,19.84,554,28,9\n"2829",2020-02-09,20.89,393,29,9\n"2830",2020-02-11,20.41,776,30,9\n"2831",2020-02-22,20.29,467,31,9\n"2832",2020-02-04,19.74,484,32,9\n"2833",2020-02-09,20.7,610,33,9\n"2834",2020-02-01,19.43,349,34,9\n"2835",2020-02-20,19.58,514,35,9\n"2836",2020-02-03,20.45,472,36,9\n"2837",2020-02-16,20.85,1145,37,9\n"2838",2020-02-18,21.03,380,38,9\n"2839",2020-02-16,19.88,612,39,9\n"2840",2020-02-01,20.6,225,40,9\n"2841",2020-02-17,21.08,151,41,9\n"2842",2020-02-13,21.02,568,42,9\n"2843",2020-02-27,20.51,572,43,9\n"2844",2020-02-24,19.96,239,44,9\n"2845",2020-02-23,20.01,471,45,9\n"2846",2020-02-05,20.97,318,46,9\n"2847",2020-02-16,20.87,363,47,9\n"2848",2020-02-28,18.9,961,48,9\n"2849",2020-02-07,20.94,333,49,9\n"2850",2020-02-02,20.42,400,50,9\n"2851",2020-02-19,20.18,928,51,9\n"2852",2020-02-20,20.51,608,52,9\n"2853",2020-02-24,21.42,226,53,9\n"2854",2020-02-05,19.59,460,54,9\n"2855",2020-02-16,20.65,1235,55,9\n"2856",2020-02-08,21.01,230,56,9\n"2857",2020-02-22,20.38,349,57,9\n"2858",2020-02-17,21,654,58,9\n"2859",2020-02-19,21.06,1229,59,9\n"2860",2020-02-06,20.71,180,60,9\n"2861",2020-02-20,20.06,310,61,9\n"2862",2020-02-07,20.98,544,62,9\n"2863",2020-02-16,19.84,278,63,9\n"2864",2020-02-08,21.96,275,64,9\n"2865",2020-02-22,20.35,853,65,9\n"2866",2020-02-28,20.03,231,66,9\n"2867",2020-02-17,20.52,450,67,9\n"2868",2020-02-04,20.6,417,68,9\n"2869",2020-02-17,19.85,250,69,9\n"2870",2020-02-29,20.35,244,70,9\n"2871",2020-02-20,20.2,336,71,9\n"2872",2020-02-27,20.26,432,72,9\n"2873",2020-02-18,19.72,297,73,9\n"2874",2020-02-12,19.87,535,74,9\n"2875",2020-02-19,20.98,1041,75,9\n"2876",2020-02-14,20.61,485,76,9\n"2877",2020-02-10,20.31,607,77,9\n"2878",2020-02-18,21.17,389,78,9\n"2879",2020-02-16,21.57,206,79,9\n"2880",2020-02-27,19.67,519,80,9\n"2881",2020-02-20,20.5,250,81,9\n"2882",2020-02-10,20.34,603,82,9\n"2883",2020-02-17,21.34,192,83,9\n"2884",2020-02-22,19.74,402,84,9\n"2885",2020-02-17,20.63,565,85,9\n"2886",2020-02-26,20.58,262,86,9\n"2887",2020-02-20,21.24,436,87,9\n"2888",2020-02-21,20.89,554,88,9\n"2889",2020-02-16,20.1,252,89,9\n"2890",2020-02-23,20.6,165,90,9\n"2891",2020-02-15,20.49,354,91,9\n"2892",2020-02-09,20.91,396,92,9\n"2893",2020-02-04,20.19,258,93,9\n"2894",2020-02-09,20.86,303,94,9\n"2895",2020-02-23,20.4,294,95,9\n"2896",2020-02-06,20.12,278,96,9\n"2897",2020-02-12,21.46,490,97,9\n"2898",2020-02-15,21.22,339,98,9\n"2899",2020-02-04,21.67,214,99,9\n"2900",2020-02-27,20.7,965,100,9\n"2901",2020-02-23,21.43,273,1,10\n"2902",2020-02-22,19.98,210,2,10\n"2903",2020-02-24,21.37,506,3,10\n"2904",2020-02-26,20.36,154,4,10\n"2905",2020-02-14,20.75,662,5,10\n"2906",2020-02-16,20.46,164,6,10\n"2907",2020-02-29,19.37,601,7,10\n"2908",2020-02-14,19.77,154,8,10\n"2909",2020-02-24,20.13,309,9,10\n"2910",2020-02-28,20.52,155,10,10\n"2911",2020-02-28,20.37,496,11,10\n"2912",2020-02-06,20.52,545,12,10\n"2913",2020-02-03,19.9,338,13,10\n"2914",2020-02-28,20.12,241,14,10\n"2915",2020-02-26,21.01,124,15,10\n"2916",2020-02-02,20.46,556,16,10\n"2917",2020-02-23,19.35,499,17,10\n"2918",2020-02-25,20.12,227,18,10\n"2919",2020-02-29,19.59,362,19,10\n"2920",2020-02-19,19.81,438,20,10\n"2921",2020-02-24,20.3,244,21,10\n"2922",2020-02-04,20.89,270,22,10\n"2923",2020-02-22,20.16,370,23,10\n"2924",2020-02-22,20.45,172,24,10\n"2925",2020-02-27,20.68,360,25,10\n"2926",2020-02-17,21.17,536,26,10\n"2927",2020-02-25,19.74,387,27,10\n"2928",2020-02-27,20.79,485,28,10\n"2929",2020-02-09,21.25,152,29,10\n"2930",2020-02-11,19.68,462,30,10\n"2931",2020-02-22,20.96,374,31,10\n"2932",2020-02-04,19.14,565,32,10\n"2933",2020-02-09,20,333,33,10\n"2934",2020-02-01,20.23,239,34,10\n"2935",2020-02-20,19.91,238,35,10\n"2936",2020-02-03,20.18,434,36,10\n"2937",2020-02-16,20.98,313,37,10\n"2938",2020-02-18,20.54,588,38,10\n"2939",2020-02-16,20.51,268,39,10\n"2940",2020-02-01,20.47,896,40,10\n"2941",2020-02-17,20.65,363,41,10\n"2942",2020-02-13,21.77,148,42,10\n"2943",2020-02-27,20.97,328,43,10\n"2944",2020-02-24,20.54,1222,44,10\n"2945",2020-02-23,19.97,176,45,10\n"2946",2020-02-05,20.93,254,46,10\n"2947",2020-02-16,20.34,192,47,10\n"2948",2020-02-28,20.5,750,48,10\n"2949",2020-02-07,20.36,257,49,10\n"2950",2020-02-02,20.33,285,50,10\n"2951",2020-02-19,20.75,489,51,10\n"2952",2020-02-20,20.34,304,52,10\n"2953",2020-02-24,20.09,379,53,10\n"2954",2020-02-05,19.92,484,54,10\n"2955",2020-02-16,20.53,181,55,10\n"2956",2020-02-08,20.8,182,56,10\n"2957",2020-02-22,21.21,283,57,10\n"2958",2020-02-17,20.69,305,58,10\n"2959",2020-02-19,20.56,231,59,10\n"2960",2020-02-06,21.34,151,60,10\n"2961",2020-02-20,21.01,313,61,10\n"2962",2020-02-07,20.42,231,62,10\n"2963",2020-02-16,20.25,566,63,10\n"2964",2020-02-08,20.11,405,64,10\n"2965",2020-02-22,19.52,824,65,10\n"2966",2020-02-28,20.77,285,66,10\n"2967",2020-02-17,20.34,444,67,10\n"2968",2020-02-04,20.45,999,68,10\n"2969",2020-02-17,19.71,591,69,10\n"2970",2020-02-29,20.34,568,70,10\n"2971",2020-02-20,21.66,328,71,10\n"2972",2020-02-27,19.97,354,72,10\n"2973",2020-02-18,20.33,479,73,10\n"2974",2020-02-12,20.34,544,74,10\n"2975",2020-02-19,20.57,222,75,10\n"2976",2020-02-14,20.3,360,76,10\n"2977",2020-02-10,19.62,329,77,10\n"2978",2020-02-18,20.08,598,78,10\n"2979",2020-02-16,20.38,401,79,10\n"2980",2020-02-27,19.57,491,80,10\n"2981",2020-02-20,20.29,321,81,10\n"2982",2020-02-10,21.48,194,82,10\n"2983",2020-02-17,20.56,277,83,10\n"2984",2020-02-22,21.4,283,84,10\n"2985",2020-02-17,20.61,366,85,10\n"2986",2020-02-26,20.56,578,86,10\n"2987",2020-02-20,20.31,705,87,10\n"2988",2020-02-21,20.54,234,88,10\n"2989",2020-02-16,19.76,117,89,10\n"2990",2020-02-23,19.77,554,90,10\n"2991",2020-02-15,20.39,483,91,10\n"2992",2020-02-09,19.78,213,92,10\n"2993",2020-02-04,20.11,451,93,10\n"2994",2020-02-09,19.78,362,94,10\n"2995",2020-02-23,20.51,338,95,10\n"2996",2020-02-06,19.9,121,96,10\n"2997",2020-02-12,20.96,120,97,10\n"2998",2020-02-15,19.48,230,98,10\n"2999",2020-02-04,20.3,500,99,10\n"3000",2020-02-27,19.8,355,100,10\n"3001",2020-03-24,19.87,384,1,1\n"3002",2020-03-28,20.59,370,2,1\n"3003",2020-03-03,21.34,288,3,1\n"3004",2020-03-24,20.92,422,4,1\n"3005",2020-03-26,21.03,503,5,1\n"3006",2020-03-29,21.42,226,6,1\n"3007",2020-03-24,20.19,451,7,1\n"3008",2020-03-10,20.8,719,8,1\n"3009",2020-03-23,20.25,306,9,1\n"3010",2020-03-03,20.42,782,10,1\n"3011",2020-03-14,20.53,482,11,1\n"3012",2020-03-02,20.8,486,12,1\n"3013",2020-03-22,20.82,407,13,1\n"3014",2020-03-14,20.37,401,14,1\n"3015",2020-03-28,21.12,309,15,1\n"3016",2020-03-13,21.96,183,16,1\n"3017",2020-03-07,20.47,579,17,1\n"3018",2020-03-27,22.14,1864,18,1\n"3019",2020-03-15,21.43,358,19,1\n"3020",2020-03-31,21.77,356,20,1\n"3021",2020-03-30,21.12,148,21,1\n"3022",2020-03-30,20.33,408,22,1\n"3023",2020-03-26,21.48,311,23,1\n"3024",2020-03-12,20.31,305,24,1\n"3025",2020-03-29,21.4,236,25,1\n"3026",2020-03-09,19.91,249,26,1\n"3027",2020-03-29,21.34,1093,27,1\n"3028",2020-03-03,21.36,161,28,1\n"3029",2020-03-01,20.98,319,29,1\n"3030",2020-03-28,20.72,304,30,1\n"3031",2020-03-17,20.19,364,31,1\n"3032",2020-03-07,21.5,457,32,1\n"3033",2020-03-10,21.07,174,33,1\n"3034",2020-03-29,21.65,168,34,1\n"3035",2020-03-27,20.76,279,35,1\n"3036",2020-03-30,21.23,898,36,1\n"3037",2020-03-12,21.4,182,37,1\n"3038",2020-03-28,21.45,315,38,1\n"3039",2020-03-06,20.27,681,39,1\n"3040",2020-03-24,21.38,891,40,1\n"3041",2020-03-24,21.76,497,41,1\n"3042",2020-03-26,19.93,370,42,1\n"3043",2020-03-31,22.29,397,43,1\n"3044",2020-03-14,20.62,226,44,1\n"3045",2020-03-03,21.28,351,45,1\n"3046",2020-03-08,20.9,489,46,1\n"3047",2020-03-19,20.83,211,47,1\n"3048",2020-03-11,21.52,393,48,1\n"3049",2020-03-14,21.57,787,49,1\n"3050",2020-03-31,20.15,443,50,1\n"3051",2020-03-09,19.08,527,51,1\n"3052",2020-03-08,20.34,462,52,1\n"3053",2020-03-30,20.43,305,53,1\n"3054",2020-03-31,21.14,635,54,1\n"3055",2020-03-15,20.51,575,55,1\n"3056",2020-03-17,21.06,811,56,1\n"3057",2020-03-17,21.76,434,57,1\n"3058",2020-03-22,21.3,405,58,1\n"3059",2020-03-29,20.72,689,59,1\n"3060",2020-03-22,19.47,404,60,1\n"3061",2020-03-26,21.62,364,61,1\n"3062",2020-03-02,20.94,236,62,1\n"3063",2020-03-26,20.68,183,63,1\n"3064",2020-03-22,21.28,276,64,1\n"3065",2020-03-14,21.15,481,65,1\n"3066",2020-03-18,21.62,211,66,1\n"3067",2020-03-21,21.92,104,67,1\n"3068",2020-03-06,19.87,243,68,1\n"3069",2020-03-25,20.67,457,69,1\n"3070",2020-03-07,21.29,127,70,1\n"3071",2020-03-14,21.22,441,71,1\n"3072",2020-03-12,20.93,211,72,1\n"3073",2020-03-10,20.86,420,73,1\n"3074",2020-03-25,21.43,434,74,1\n"3075",2020-03-18,20.71,571,75,1\n"3076",2020-03-13,20.16,174,76,1\n"3077",2020-03-07,20.4,250,77,1\n"3078",2020-03-21,20.97,553,78,1\n"3079",2020-03-18,21.94,314,79,1\n"3080",2020-03-22,20.39,582,80,1\n"3081",2020-03-27,20.82,364,81,1\n"3082",2020-03-28,22.3,230,82,1\n"3083",2020-03-17,21.69,531,83,1\n"3084",2020-03-03,21.4,333,84,1\n"3085",2020-03-08,22.04,476,85,1\n"3086",2020-03-08,21.8,512,86,1\n"3087",2020-03-31,21.24,582,87,1\n"3088",2020-03-03,20.13,186,88,1\n"3089",2020-03-07,21.82,263,89,1\n"3090",2020-03-06,21.31,199,90,1\n"3091",2020-03-18,21.35,157,91,1\n"3092",2020-03-09,21.16,279,92,1\n"3093",2020-03-28,20.91,320,93,1\n"3094",2020-03-11,19.94,233,94,1\n"3095",2020-03-30,21.24,587,95,1\n"3096",2020-03-14,21.67,391,96,1\n"3097",2020-03-05,20.77,264,97,1\n"3098",2020-03-25,20.86,157,98,1\n"3099",2020-03-19,20.95,770,99,1\n"3100",2020-03-06,21.24,504,100,1\n"3101",2020-03-24,20.89,454,1,2\n"3102",2020-03-28,21.37,408,2,2\n"3103",2020-03-03,21.1,247,3,2\n"3104",2020-03-24,20.69,207,4,2\n"3105",2020-03-26,20.9,171,5,2\n"3106",2020-03-29,21.2,310,6,2\n"3107",2020-03-24,20.35,600,7,2\n"3108",2020-03-10,20.99,592,8,2\n"3109",2020-03-23,19.95,477,9,2\n"3110",2020-03-03,21.52,274,10,2\n"3111",2020-03-14,20.44,888,11,2\n"3112",2020-03-02,21.3,356,12,2\n"3113",2020-03-22,21.49,1189,13,2\n"3114",2020-03-14,21.5,455,14,2\n"3115",2020-03-28,20.17,421,15,2\n"3116",2020-03-13,21.22,569,16,2\n"3117",2020-03-07,21.04,473,17,2\n"3118",2020-03-27,22.48,470,18,2\n"3119",2020-03-15,20.5,466,19,2\n"3120",2020-03-31,20.35,190,20,2\n"3121",2020-03-30,21.91,511,21,2\n"3122",2020-03-30,20.59,392,22,2\n"3123",2020-03-26,20.42,304,23,2\n"3124",2020-03-12,22.52,369,24,2\n"3125",2020-03-29,20.63,879,25,2\n"3126",2020-03-09,21.12,181,26,2\n"3127",2020-03-29,22.1,592,27,2\n"3128",2020-03-03,21.13,314,28,2\n"3129",2020-03-01,20.92,255,29,2\n"3130",2020-03-28,22.27,533,30,2\n"3131",2020-03-17,21.53,211,31,2\n"3132",2020-03-07,20.21,270,32,2\n"3133",2020-03-10,20.96,450,33,2\n"3134",2020-03-29,20.4,328,34,2\n"3135",2020-03-27,20.79,313,35,2\n"3136",2020-03-30,21.64,633,36,2\n"3137",2020-03-12,20.9,927,37,2\n"3138",2020-03-28,20.86,160,38,2\n"3139",2020-03-06,22.35,64,39,2\n"3140",2020-03-24,20.97,921,40,2\n"3141",2020-03-24,21.4,529,41,2\n"3142",2020-03-26,21.06,1087,42,2\n"3143",2020-03-31,21.33,483,43,2\n"3144",2020-03-14,21.09,309,44,2\n"3145",2020-03-03,21.55,189,45,2\n"3146",2020-03-08,19.6,292,46,2\n"3147",2020-03-19,20.96,321,47,2\n"3148",2020-03-11,21.27,458,48,2\n"3149",2020-03-14,20.63,228,49,2\n"3150",2020-03-31,21,312,50,2\n"3151",2020-03-09,20.91,111,51,2\n"3152",2020-03-08,21.42,140,52,2\n"3153",2020-03-30,20.87,550,53,2\n"3154",2020-03-31,21.39,591,54,2\n"3155",2020-03-15,22.05,187,55,2\n"3156",2020-03-17,21.19,434,56,2\n"3157",2020-03-17,22.09,219,57,2\n"3158",2020-03-22,21.07,305,58,2\n"3159",2020-03-29,21.27,596,59,2\n"3160",2020-03-22,20.71,252,60,2\n"3161",2020-03-26,20.82,576,61,2\n"3162",2020-03-02,20.19,892,62,2\n"3163",2020-03-26,21.66,148,63,2\n"3164",2020-03-22,21.56,904,64,2\n"3165",2020-03-14,20.78,404,65,2\n"3166",2020-03-18,21.48,516,66,2\n"3167",2020-03-21,20.59,214,67,2\n"3168",2020-03-06,20.79,564,68,2\n"3169",2020-03-25,21.3,364,69,2\n"3170",2020-03-07,20.48,300,70,2\n"3171",2020-03-14,20.68,284,71,2\n"3172",2020-03-12,21.45,394,72,2\n"3173",2020-03-10,21.11,366,73,2\n"3174",2020-03-25,21.83,582,74,2\n"3175",2020-03-18,21.2,729,75,2\n"3176",2020-03-13,21.4,325,76,2\n"3177",2020-03-07,21.21,500,77,2\n"3178",2020-03-21,20.92,398,78,2\n"3179",2020-03-18,20.52,240,79,2\n"3180",2020-03-22,21.14,208,80,2\n"3181",2020-03-27,19.79,242,81,2\n"3182",2020-03-28,20.58,292,82,2\n"3183",2020-03-17,22.19,332,83,2\n"3184",2020-03-03,20.45,289,84,2\n"3185",2020-03-08,21.1,605,85,2\n"3186",2020-03-08,21.53,502,86,2\n"3187",2020-03-31,20.45,308,87,2\n"3188",2020-03-03,21.06,498,88,2\n"3189",2020-03-07,20.57,295,89,2\n"3190",2020-03-06,20.38,709,90,2\n"3191",2020-03-18,20.65,470,91,2\n"3192",2020-03-09,20.47,303,92,2\n"3193",2020-03-28,21.82,320,93,2\n"3194",2020-03-11,20.81,450,94,2\n"3195",2020-03-30,20.09,328,95,2\n"3196",2020-03-14,21.32,741,96,2\n"3197",2020-03-05,20.7,626,97,2\n"3198",2020-03-25,21.37,526,98,2\n"3199",2020-03-19,20.4,347,99,2\n"3200",2020-03-06,23.18,262,100,2\n"3201",2020-03-24,20.74,193,1,3\n"3202",2020-03-28,20.13,247,2,3\n"3203",2020-03-03,19.7,403,3,3\n"3204",2020-03-24,21.06,260,4,3\n"3205",2020-03-26,21.39,518,5,3\n"3206",2020-03-29,20.07,441,6,3\n"3207",2020-03-24,22.14,1197,7,3\n"3208",2020-03-10,20.59,460,8,3\n"3209",2020-03-23,21.08,146,9,3\n"3210",2020-03-03,20.2,558,10,3\n"3211",2020-03-14,21.02,468,11,3\n"3212",2020-03-02,21.73,138,12,3\n"3213",2020-03-22,20.28,816,13,3\n"3214",2020-03-14,22.32,223,14,3\n"3215",2020-03-28,20.47,507,15,3\n"3216",2020-03-13,20.74,396,16,3\n"3217",2020-03-07,20.82,418,17,3\n"3218",2020-03-27,21.43,244,18,3\n"3219",2020-03-15,20.49,482,19,3\n"3220",2020-03-31,20.55,230,20,3\n"3221",2020-03-30,21.59,441,21,3\n"3222",2020-03-30,20.03,291,22,3\n"3223",2020-03-26,21.4,190,23,3\n"3224",2020-03-12,20.02,276,24,3\n"3225",2020-03-29,21.35,502,25,3\n"3226",2020-03-09,21.32,338,26,3\n"3227",2020-03-29,22.12,860,27,3\n"3228",2020-03-03,21,203,28,3\n"3229",2020-03-01,21.02,514,29,3\n"3230",2020-03-28,21.19,323,30,3\n"3231",2020-03-17,21.03,523,31,3\n"3232",2020-03-07,20.26,252,32,3\n"3233",2020-03-10,20.11,357,33,3\n"3234",2020-03-29,21.82,870,34,3\n"3235",2020-03-27,21.51,235,35,3\n"3236",2020-03-30,20.82,234,36,3\n"3237",2020-03-12,21.58,500,37,3\n"3238",2020-03-28,21.79,575,38,3\n"3239",2020-03-06,21.34,163,39,3\n"3240",2020-03-24,21.35,384,40,3\n"3241",2020-03-24,20.89,815,41,3\n"3242",2020-03-26,21.71,145,42,3\n"3243",2020-03-31,21.52,488,43,3\n"3244",2020-03-14,22.79,306,44,3\n"3245",2020-03-03,20.51,587,45,3\n"3246",2020-03-08,21.18,176,46,3\n"3247",2020-03-19,20.86,207,47,3\n"3248",2020-03-11,20.75,340,48,3\n"3249",2020-03-14,20.34,356,49,3\n"3250",2020-03-31,21.17,517,50,3\n"3251",2020-03-09,20.78,728,51,3\n"3252",2020-03-08,20.13,165,52,3\n"3253",2020-03-30,22.24,512,53,3\n"3254",2020-03-31,20.75,406,54,3\n"3255",2020-03-15,20.62,252,55,3\n"3256",2020-03-17,22.1,955,56,3\n"3257",2020-03-17,20.69,566,57,3\n"3258",2020-03-22,21.59,536,58,3\n"3259",2020-03-29,21.97,392,59,3\n"3260",2020-03-22,21.84,482,60,3\n"3261",2020-03-26,22.23,423,61,3\n"3262",2020-03-02,20.55,258,62,3\n"3263",2020-03-26,20.97,829,63,3\n"3264",2020-03-22,20.82,574,64,3\n"3265",2020-03-14,21.32,261,65,3\n"3266",2020-03-18,21.38,252,66,3\n"3267",2020-03-21,20.79,222,67,3\n"3268",2020-03-06,21.55,393,68,3\n"3269",2020-03-25,20.91,187,69,3\n"3270",2020-03-07,21.51,348,70,3\n"3271",2020-03-14,20.67,214,71,3\n"3272",2020-03-12,21.51,652,72,3\n"3273",2020-03-10,20.28,293,73,3\n"3274",2020-03-25,20.13,526,74,3\n"3275",2020-03-18,20.81,1182,75,3\n"3276",2020-03-13,21.85,632,76,3\n"3277",2020-03-07,20.79,196,77,3\n"3278",2020-03-21,21.21,225,78,3\n"3279",2020-03-18,22.2,404,79,3\n"3280",2020-03-22,20.69,229,80,3\n"3281",2020-03-27,21.83,487,81,3\n"3282",2020-03-28,21.93,340,82,3\n"3283",2020-03-17,21.96,458,83,3\n"3284",2020-03-03,21.23,406,84,3\n"3285",2020-03-08,21.27,566,85,3\n"3286",2020-03-08,20.11,153,86,3\n"3287",2020-03-31,21.12,313,87,3\n"3288",2020-03-03,20.63,346,88,3\n"3289",2020-03-07,20.42,322,89,3\n"3290",2020-03-06,20.42,274,90,3\n"3291",2020-03-18,20.66,266,91,3\n"3292",2020-03-09,21.35,741,92,3\n"3293",2020-03-28,20.57,342,93,3\n"3294",2020-03-11,20.31,948,94,3\n"3295",2020-03-30,21.71,329,95,3\n"3296",2020-03-14,20.23,480,96,3\n"3297",2020-03-05,21.2,248,97,3\n"3298",2020-03-25,20.5,562,98,3\n"3299",2020-03-19,21,367,99,3\n"3300",2020-03-06,21.58,203,100,3\n"3301",2020-03-24,19.58,460,1,4\n"3302",2020-03-28,20.09,357,2,4\n"3303",2020-03-03,21,217,3,4\n"3304",2020-03-24,19.89,771,4,4\n"3305",2020-03-26,20.72,277,5,4\n"3306",2020-03-29,21.55,247,6,4\n"3307",2020-03-24,21.3,429,7,4\n"3308",2020-03-10,20.62,532,8,4\n"3309",2020-03-23,20.87,320,9,4\n"3310",2020-03-03,20.66,178,10,4\n"3311",2020-03-14,21.31,489,11,4\n"3312",2020-03-02,21.81,575,12,4\n"3313",2020-03-22,20.92,120,13,4\n"3314",2020-03-14,19.95,227,14,4\n"3315",2020-03-28,21.18,296,15,4\n"3316",2020-03-13,20.45,398,16,4\n"3317",2020-03-07,20.57,509,17,4\n"3318",2020-03-27,21.41,805,18,4\n"3319",2020-03-15,22.15,293,19,4\n"3320",2020-03-31,21.68,297,20,4\n"3321",2020-03-30,19.92,284,21,4\n"3322",2020-03-30,20.69,629,22,4\n"3323",2020-03-26,21.02,152,23,4\n"3324",2020-03-12,20.63,579,24,4\n"3325",2020-03-29,21.3,943,25,4\n"3326",2020-03-09,21.63,261,26,4\n"3327",2020-03-29,21.04,536,27,4\n"3328",2020-03-03,21.46,1039,28,4\n"3329",2020-03-01,20.44,938,29,4\n"3330",2020-03-28,20.5,506,30,4\n"3331",2020-03-17,21.48,126,31,4\n"3332",2020-03-07,20.84,171,32,4\n"3333",2020-03-10,20.88,272,33,4\n"3334",2020-03-29,21.77,397,34,4\n"3335",2020-03-27,20.43,131,35,4\n"3336",2020-03-30,20.46,261,36,4\n"3337",2020-03-12,21.54,98,37,4\n"3338",2020-03-28,21.13,118,38,4\n"3339",2020-03-06,19.96,337,39,4\n"3340",2020-03-24,21.14,654,40,4\n"3341",2020-03-24,21.35,331,41,4\n"3342",2020-03-26,20.37,750,42,4\n"3343",2020-03-31,21.62,555,43,4\n"3344",2020-03-14,20.51,393,44,4\n"3345",2020-03-03,20.81,458,45,4\n"3346",2020-03-08,21.78,372,46,4\n"3347",2020-03-19,20.7,693,47,4\n"3348",2020-03-11,19.68,335,48,4\n"3349",2020-03-14,22.28,223,49,4\n"3350",2020-03-31,21.11,285,50,4\n"3351",2020-03-09,20.35,513,51,4\n"3352",2020-03-08,21.14,176,52,4\n"3353",2020-03-30,19.84,487,53,4\n"3354",2020-03-31,21.15,232,54,4\n"3355",2020-03-15,21.21,343,55,4\n"3356",2020-03-17,22.14,178,56,4\n"3357",2020-03-17,21.16,452,57,4\n"3358",2020-03-22,22.12,574,58,4\n"3359",2020-03-29,21.62,280,59,4\n"3360",2020-03-22,21.01,442,60,4\n"3361",2020-03-26,20,289,61,4\n"3362",2020-03-02,21.3,1074,62,4\n"3363",2020-03-26,20.14,367,63,4\n"3364",2020-03-22,21.97,518,64,4\n"3365",2020-03-14,21.11,530,65,4\n"3366",2020-03-18,20.8,388,66,4\n"3367",2020-03-21,20.26,463,67,4\n"3368",2020-03-06,21.34,369,68,4\n"3369",2020-03-25,20.4,410,69,4\n"3370",2020-03-07,20.29,218,70,4\n"3371",2020-03-14,19.86,324,71,4\n"3372",2020-03-12,21.66,361,72,4\n"3373",2020-03-10,19.41,430,73,4\n"3374",2020-03-25,22.76,118,74,4\n"3375",2020-03-18,20.57,665,75,4\n"3376",2020-03-13,20.54,246,76,4\n"3377",2020-03-07,20.47,343,77,4\n"3378",2020-03-21,20.74,534,78,4\n"3379",2020-03-18,21.57,496,79,4\n"3380",2020-03-22,20.28,424,80,4\n"3381",2020-03-27,20.32,1267,81,4\n"3382",2020-03-28,20.93,900,82,4\n"3383",2020-03-17,21.01,467,83,4\n"3384",2020-03-03,20.76,653,84,4\n"3385",2020-03-08,21,206,85,4\n"3386",2020-03-08,21.79,299,86,4\n"3387",2020-03-31,21.25,546,87,4\n"3388",2020-03-03,21.19,261,88,4\n"3389",2020-03-07,20.79,777,89,4\n"3390",2020-03-06,20.72,257,90,4\n"3391",2020-03-18,21.32,237,91,4\n"3392",2020-03-09,22.1,389,92,4\n"3393",2020-03-28,21.25,209,93,4\n"3394",2020-03-11,22.42,348,94,4\n"3395",2020-03-30,20.1,304,95,4\n"3396",2020-03-14,20.94,519,96,4\n"3397",2020-03-05,21.57,716,97,4\n"3398",2020-03-25,20.88,390,98,4\n"3399",2020-03-19,20.33,208,99,4\n"3400",2020-03-06,21.45,365,100,4\n"3401",2020-03-24,20.84,329,1,5\n"3402",2020-03-28,19.03,266,2,5\n"3403",2020-03-03,19.97,533,3,5\n"3404",2020-03-24,21.36,304,4,5\n"3405",2020-03-26,20.06,505,5,5\n"3406",2020-03-29,21.34,131,6,5\n"3407",2020-03-24,21.37,228,7,5\n"3408",2020-03-10,20.01,192,8,5\n"3409",2020-03-23,20.96,474,9,5\n"3410",2020-03-03,21.21,405,10,5\n"3411",2020-03-14,21.68,676,11,5\n"3412",2020-03-02,20.27,343,12,5\n"3413",2020-03-22,21.7,472,13,5\n"3414",2020-03-14,20.58,647,14,5\n"3415",2020-03-28,20.17,396,15,5\n"3416",2020-03-13,21.66,526,16,5\n"3417",2020-03-07,21.29,680,17,5\n"3418",2020-03-27,20.6,308,18,5\n"3419",2020-03-15,22.08,244,19,5\n"3420",2020-03-31,20.08,264,20,5\n"3421",2020-03-30,20.51,525,21,5\n"3422",2020-03-30,20.76,247,22,5\n"3423",2020-03-26,20.41,529,23,5\n"3424",2020-03-12,20.48,418,24,5\n"3425",2020-03-29,20.58,330,25,5\n"3426",2020-03-09,21.07,732,26,5\n"3427",2020-03-29,20.68,239,27,5\n"3428",2020-03-03,20.51,304,28,5\n"3429",2020-03-01,20.54,505,29,5\n"3430",2020-03-28,21.26,259,30,5\n"3431",2020-03-17,21,220,31,5\n"3432",2020-03-07,20.82,330,32,5\n"3433",2020-03-10,20.79,249,33,5\n"3434",2020-03-29,20.8,210,34,5\n"3435",2020-03-27,21.03,174,35,5\n"3436",2020-03-30,21.85,530,36,5\n"3437",2020-03-12,20.33,297,37,5\n"3438",2020-03-28,20.18,677,38,5\n"3439",2020-03-06,21.94,385,39,5\n"3440",2020-03-24,22.36,740,40,5\n"3441",2020-03-24,21.34,326,41,5\n"3442",2020-03-26,19.9,574,42,5\n"3443",2020-03-31,21.54,743,43,5\n"3444",2020-03-14,19.76,981,44,5\n"3445",2020-03-03,21.21,298,45,5\n"3446",2020-03-08,20.12,276,46,5\n"3447",2020-03-19,22.2,198,47,5\n"3448",2020-03-11,21.43,1578,48,5\n"3449",2020-03-14,20.66,756,49,5\n"3450",2020-03-31,21.22,70,50,5\n"3451",2020-03-09,21.08,201,51,5\n"3452",2020-03-08,21.64,282,52,5\n"3453",2020-03-30,20.7,1178,53,5\n"3454",2020-03-31,21.07,420,54,5\n"3455",2020-03-15,20.85,362,55,5\n"3456",2020-03-17,20.57,478,56,5\n"3457",2020-03-17,21.08,291,57,5\n"3458",2020-03-22,21.04,403,58,5\n"3459",2020-03-29,20.41,482,59,5\n"3460",2020-03-22,20.41,661,60,5\n"3461",2020-03-26,20.43,184,61,5\n"3462",2020-03-02,19.64,86,62,5\n"3463",2020-03-26,20.74,192,63,5\n"3464",2020-03-22,21.01,643,64,5\n"3465",2020-03-14,20.4,593,65,5\n"3466",2020-03-18,21.49,614,66,5\n"3467",2020-03-21,21.03,283,67,5\n"3468",2020-03-06,20.38,507,68,5\n"3469",2020-03-25,21.48,451,69,5\n"3470",2020-03-07,21.8,181,70,5\n"3471",2020-03-14,20.41,277,71,5\n"3472",2020-03-12,21.05,123,72,5\n"3473",2020-03-10,21.14,317,73,5\n"3474",2020-03-25,20.34,103,74,5\n"3475",2020-03-18,20.85,199,75,5\n"3476",2020-03-13,22.52,660,76,5\n"3477",2020-03-07,21.67,1080,77,5\n"3478",2020-03-21,20.96,478,78,5\n"3479",2020-03-18,22.24,429,79,5\n"3480",2020-03-22,20.94,354,80,5\n"3481",2020-03-27,20.83,320,81,5\n"3482",2020-03-28,21.94,271,82,5\n"3483",2020-03-17,20.95,635,83,5\n"3484",2020-03-03,21.72,642,84,5\n"3485",2020-03-08,20.3,346,85,5\n"3486",2020-03-08,20.23,491,86,5\n"3487",2020-03-31,21.08,214,87,5\n"3488",2020-03-03,21.38,303,88,5\n"3489",2020-03-07,21.24,278,89,5\n"3490",2020-03-06,21.03,809,90,5\n"3491",2020-03-18,21.32,381,91,5\n"3492",2020-03-09,20.58,355,92,5\n"3493",2020-03-28,21.43,563,93,5\n"3494",2020-03-11,21.15,501,94,5\n"3495",2020-03-30,21.2,457,95,5\n"3496",2020-03-14,20.93,243,96,5\n"3497",2020-03-05,20.86,354,97,5\n"3498",2020-03-25,21.72,898,98,5\n"3499",2020-03-19,21.54,289,99,5\n"3500",2020-03-06,20.92,361,100,5\n"3501",2020-03-24,20.76,458,1,6\n"3502",2020-03-28,21.87,418,2,6\n"3503",2020-03-03,20.61,147,3,6\n"3504",2020-03-24,20.93,423,4,6\n"3505",2020-03-26,21.4,197,5,6\n"3506",2020-03-29,20.39,253,6,6\n"3507",2020-03-24,22.08,464,7,6\n"3508",2020-03-10,19.75,548,8,6\n"3509",2020-03-23,21.03,175,9,6\n"3510",2020-03-03,20.7,949,10,6\n"3511",2020-03-14,21.39,415,11,6\n"3512",2020-03-02,21.62,604,12,6\n"3513",2020-03-22,19.81,241,13,6\n"3514",2020-03-14,21.35,868,14,6\n"3515",2020-03-28,20.32,306,15,6\n"3516",2020-03-13,21.31,552,16,6\n"3517",2020-03-07,20.91,393,17,6\n"3518",2020-03-27,19.86,239,18,6\n"3519",2020-03-15,22.59,418,19,6\n"3520",2020-03-31,21.72,460,20,6\n"3521",2020-03-30,20.74,359,21,6\n"3522",2020-03-30,20.18,374,22,6\n"3523",2020-03-26,21.21,564,23,6\n"3524",2020-03-12,20.61,323,24,6\n"3525",2020-03-29,21.04,228,25,6\n"3526",2020-03-09,21.71,278,26,6\n"3527",2020-03-29,21.87,476,27,6\n"3528",2020-03-03,21.45,124,28,6\n"3529",2020-03-01,20.78,601,29,6\n"3530",2020-03-28,21.77,763,30,6\n"3531",2020-03-17,20.53,247,31,6\n"3532",2020-03-07,20.8,947,32,6\n"3533",2020-03-10,20.55,701,33,6\n"3534",2020-03-29,21.12,654,34,6\n"3535",2020-03-27,20.9,774,35,6\n"3536",2020-03-30,20.19,227,36,6\n"3537",2020-03-12,20.58,675,37,6\n"3538",2020-03-28,21.01,332,38,6\n"3539",2020-03-06,20.38,389,39,6\n"3540",2020-03-24,20.69,305,40,6\n"3541",2020-03-24,21.63,239,41,6\n"3542",2020-03-26,21.18,263,42,6\n"3543",2020-03-31,22.29,411,43,6\n"3544",2020-03-14,21.12,560,44,6\n"3545",2020-03-03,21.23,386,45,6\n"3546",2020-03-08,21.26,279,46,6\n"3547",2020-03-19,21.74,452,47,6\n"3548",2020-03-11,21.11,189,48,6\n"3549",2020-03-14,21.18,628,49,6\n"3550",2020-03-31,20.48,298,50,6\n"3551",2020-03-09,21.59,185,51,6\n"3552",2020-03-08,20.96,274,52,6\n"3553",2020-03-30,21.53,249,53,6\n"3554",2020-03-31,20.09,378,54,6\n"3555",2020-03-15,20.9,157,55,6\n"3556",2020-03-17,20.32,391,56,6\n"3557",2020-03-17,20.71,319,57,6\n"3558",2020-03-22,20.32,504,58,6\n"3559",2020-03-29,20.7,239,59,6\n"3560",2020-03-22,21.67,225,60,6\n"3561",2020-03-26,20.67,184,61,6\n"3562",2020-03-02,20.95,370,62,6\n"3563",2020-03-26,21.14,460,63,6\n"3564",2020-03-22,21.75,598,64,6\n"3565",2020-03-14,21.08,420,65,6\n"3566",2020-03-18,20.92,278,66,6\n"3567",2020-03-21,21.26,406,67,6\n"3568",2020-03-06,21.94,123,68,6\n"3569",2020-03-25,20.69,385,69,6\n"3570",2020-03-07,20.18,429,70,6\n"3571",2020-03-14,20.66,337,71,6\n"3572",2020-03-12,19.63,231,72,6\n"3573",2020-03-10,21.07,177,73,6\n"3574",2020-03-25,20.73,1039,74,6\n"3575",2020-03-18,21.53,389,75,6\n"3576",2020-03-13,20.41,555,76,6\n"3577",2020-03-07,20.15,282,77,6\n"3578",2020-03-21,21.29,371,78,6\n"3579",2020-03-18,20.02,347,79,6\n"3580",2020-03-22,20.97,381,80,6\n"3581",2020-03-27,21.18,194,81,6\n"3582",2020-03-28,21.5,442,82,6\n"3583",2020-03-17,19.44,268,83,6\n"3584",2020-03-03,19.94,270,84,6\n"3585",2020-03-08,21.11,357,85,6\n"3586",2020-03-08,20.86,594,86,6\n"3587",2020-03-31,21.54,421,87,6\n"3588",2020-03-03,21.2,86,88,6\n"3589",2020-03-07,20.28,168,89,6\n"3590",2020-03-06,20.46,233,90,6\n"3591",2020-03-18,20.88,745,91,6\n"3592",2020-03-09,22.1,481,92,6\n"3593",2020-03-28,20.28,325,93,6\n"3594",2020-03-11,21.12,440,94,6\n"3595",2020-03-30,20.61,279,95,6\n"3596",2020-03-14,21.62,438,96,6\n"3597",2020-03-05,21.97,350,97,6\n"3598",2020-03-25,21.05,474,98,6\n"3599",2020-03-19,20.05,632,99,6\n"3600",2020-03-06,21.56,635,100,6\n"3601",2020-03-24,21.82,406,1,7\n"3602",2020-03-28,21.14,219,2,7\n"3603",2020-03-03,20.02,488,3,7\n"3604",2020-03-24,19.58,428,4,7\n"3605",2020-03-26,21.28,324,5,7\n"3606",2020-03-29,20.52,305,6,7\n"3607",2020-03-24,21.15,619,7,7\n"3608",2020-03-10,21.73,612,8,7\n"3609",2020-03-23,21.42,379,9,7\n"3610",2020-03-03,21.21,579,10,7\n"3611",2020-03-14,20.68,511,11,7\n"3612",2020-03-02,21.4,345,12,7\n"3613",2020-03-22,21.41,256,13,7\n"3614",2020-03-14,20.69,232,14,7\n"3615",2020-03-28,21.55,440,15,7\n"3616",2020-03-13,21.34,282,16,7\n"3617",2020-03-07,21.37,415,17,7\n"3618",2020-03-27,21.16,1154,18,7\n"3619",2020-03-15,21.99,291,19,7\n"3620",2020-03-31,20.48,513,20,7\n"3621",2020-03-30,21.13,680,21,7\n"3622",2020-03-30,21.28,248,22,7\n"3623",2020-03-26,21.09,282,23,7\n"3624",2020-03-12,20.72,271,24,7\n"3625",2020-03-29,21.86,486,25,7\n"3626",2020-03-09,21.43,112,26,7\n"3627",2020-03-29,21.59,485,27,7\n"3628",2020-03-03,19.66,420,28,7\n"3629",2020-03-01,20.13,466,29,7\n"3630",2020-03-28,20.5,374,30,7\n"3631",2020-03-17,21.42,290,31,7\n"3632",2020-03-07,20.61,216,32,7\n"3633",2020-03-10,21.73,497,33,7\n"3634",2020-03-29,21.71,201,34,7\n"3635",2020-03-27,21.81,200,35,7\n"3636",2020-03-30,21.25,217,36,7\n"3637",2020-03-12,22.03,648,37,7\n"3638",2020-03-28,20.36,328,38,7\n"3639",2020-03-06,20.7,304,39,7\n"3640",2020-03-24,22.16,839,40,7\n"3641",2020-03-24,20.62,364,41,7\n"3642",2020-03-26,20.74,187,42,7\n"3643",2020-03-31,20.87,175,43,7\n"3644",2020-03-14,21.53,594,44,7\n"3645",2020-03-03,21.45,308,45,7\n"3646",2020-03-08,20.76,569,46,7\n"3647",2020-03-19,21.32,235,47,7\n"3648",2020-03-11,20.77,623,48,7\n"3649",2020-03-14,21.8,307,49,7\n"3650",2020-03-31,20.76,277,50,7\n"3651",2020-03-09,21.29,180,51,7\n"3652",2020-03-08,20.79,659,52,7\n"3653",2020-03-30,21.93,337,53,7\n"3654",2020-03-31,21.19,531,54,7\n"3655",2020-03-15,21.39,260,55,7\n"3656",2020-03-17,21.27,263,56,7\n"3657",2020-03-17,21.21,414,57,7\n"3658",2020-03-22,21.57,541,58,7\n"3659",2020-03-29,22.38,248,59,7\n"3660",2020-03-22,21.58,431,60,7\n"3661",2020-03-26,20.45,599,61,7\n"3662",2020-03-02,21.24,411,62,7\n"3663",2020-03-26,20.58,362,63,7\n"3664",2020-03-22,21.91,337,64,7\n"3665",2020-03-14,21.77,1154,65,7\n"3666",2020-03-18,21.44,405,66,7\n"3667",2020-03-21,21.96,262,67,7\n"3668",2020-03-06,20.7,121,68,7\n"3669",2020-03-25,21.34,480,69,7\n"3670",2020-03-07,20.92,599,70,7\n"3671",2020-03-14,20.75,459,71,7\n"3672",2020-03-12,20.58,534,72,7\n"3673",2020-03-10,21.34,999,73,7\n"3674",2020-03-25,21.01,582,74,7\n"3675",2020-03-18,21.32,149,75,7\n"3676",2020-03-13,20.76,334,76,7\n"3677",2020-03-07,21.47,417,77,7\n"3678",2020-03-21,20.47,245,78,7\n"3679",2020-03-18,20.68,378,79,7\n"3680",2020-03-22,20.86,179,80,7\n"3681",2020-03-27,22,433,81,7\n"3682",2020-03-28,21.06,277,82,7\n"3683",2020-03-17,21.1,632,83,7\n"3684",2020-03-03,21.03,403,84,7\n"3685",2020-03-08,20.89,447,85,7\n"3686",2020-03-08,21.73,270,86,7\n"3687",2020-03-31,21.19,355,87,7\n"3688",2020-03-03,21,253,88,7\n"3689",2020-03-07,21.52,199,89,7\n"3690",2020-03-06,20.81,244,90,7\n"3691",2020-03-18,20.53,408,91,7\n"3692",2020-03-09,22.45,206,92,7\n"3693",2020-03-28,20.56,539,93,7\n"3694",2020-03-11,20.68,306,94,7\n"3695",2020-03-30,21.08,440,95,7\n"3696",2020-03-14,20.93,263,96,7\n"3697",2020-03-05,22.02,147,97,7\n"3698",2020-03-25,21.68,276,98,7\n"3699",2020-03-19,20.74,327,99,7\n"3700",2020-03-06,22.13,384,100,7\n"3701",2020-03-24,21.41,416,1,8\n"3702",2020-03-28,21.61,379,2,8\n"3703",2020-03-03,21.16,492,3,8\n"3704",2020-03-24,20.55,260,4,8\n"3705",2020-03-26,20.32,594,5,8\n"3706",2020-03-29,21,286,6,8\n"3707",2020-03-24,21.13,1242,7,8\n"3708",2020-03-10,21.59,279,8,8\n"3709",2020-03-23,21.19,534,9,8\n"3710",2020-03-03,21.42,292,10,8\n"3711",2020-03-14,20.44,464,11,8\n"3712",2020-03-02,20.23,686,12,8\n"3713",2020-03-22,20.68,230,13,8\n"3714",2020-03-14,21.27,270,14,8\n"3715",2020-03-28,20.61,661,15,8\n"3716",2020-03-13,19.78,471,16,8\n"3717",2020-03-07,21.06,183,17,8\n"3718",2020-03-27,21.02,321,18,8\n"3719",2020-03-15,20.75,123,19,8\n"3720",2020-03-31,22.46,530,20,8\n"3721",2020-03-30,21.03,395,21,8\n"3722",2020-03-30,21.31,293,22,8\n"3723",2020-03-26,20.78,347,23,8\n"3724",2020-03-12,20.75,558,24,8\n"3725",2020-03-29,21.59,449,25,8\n"3726",2020-03-09,20.47,523,26,8\n"3727",2020-03-29,21.18,1475,27,8\n"3728",2020-03-03,21.71,422,28,8\n"3729",2020-03-01,20.9,247,29,8\n"3730",2020-03-28,20.29,318,30,8\n"3731",2020-03-17,22.07,871,31,8\n"3732",2020-03-07,21.54,282,32,8\n"3733",2020-03-10,20.43,397,33,8\n"3734",2020-03-29,20.89,251,34,8\n"3735",2020-03-27,21.19,548,35,8\n"3736",2020-03-30,20.48,193,36,8\n"3737",2020-03-12,21.07,802,37,8\n"3738",2020-03-28,20.44,461,38,8\n"3739",2020-03-06,21.04,296,39,8\n"3740",2020-03-24,20.08,182,40,8\n"3741",2020-03-24,21,272,41,8\n"3742",2020-03-26,20.49,357,42,8\n"3743",2020-03-31,20.11,335,43,8\n"3744",2020-03-14,21.57,375,44,8\n"3745",2020-03-03,21.21,338,45,8\n"3746",2020-03-08,21.89,269,46,8\n"3747",2020-03-19,20.73,208,47,8\n"3748",2020-03-11,20.89,122,48,8\n"3749",2020-03-14,21.22,358,49,8\n"3750",2020-03-31,20.9,378,50,8\n"3751",2020-03-09,20.8,290,51,8\n"3752",2020-03-08,21.34,521,52,8\n"3753",2020-03-30,21.19,338,53,8\n"3754",2020-03-31,20.36,309,54,8\n"3755",2020-03-15,21.63,389,55,8\n"3756",2020-03-17,20.53,257,56,8\n"3757",2020-03-17,21.66,351,57,8\n"3758",2020-03-22,21.04,346,58,8\n"3759",2020-03-29,21.43,440,59,8\n"3760",2020-03-22,20.42,226,60,8\n"3761",2020-03-26,21.65,283,61,8\n"3762",2020-03-02,21.18,558,62,8\n"3763",2020-03-26,21.05,415,63,8\n"3764",2020-03-22,21.26,564,64,8\n"3765",2020-03-14,20.68,1198,65,8\n"3766",2020-03-18,21.34,404,66,8\n"3767",2020-03-21,21.49,274,67,8\n"3768",2020-03-06,21.69,395,68,8\n"3769",2020-03-25,19.58,284,69,8\n"3770",2020-03-07,20.28,392,70,8\n"3771",2020-03-14,21.29,269,71,8\n"3772",2020-03-12,20.68,378,72,8\n"3773",2020-03-10,21.33,366,73,8\n"3774",2020-03-25,21.45,569,74,8\n"3775",2020-03-18,21.17,1344,75,8\n"3776",2020-03-13,20.76,310,76,8\n"3777",2020-03-07,20.34,146,77,8\n"3778",2020-03-21,20.63,1822,78,8\n"3779",2020-03-18,21.42,516,79,8\n"3780",2020-03-22,20.5,764,80,8\n"3781",2020-03-27,21.45,427,81,8\n"3782",2020-03-28,20.92,204,82,8\n"3783",2020-03-17,20.31,680,83,8\n"3784",2020-03-03,20.54,732,84,8\n"3785",2020-03-08,21.42,174,85,8\n"3786",2020-03-08,20.87,300,86,8\n"3787",2020-03-31,20.54,279,87,8\n"3788",2020-03-03,19.83,270,88,8\n"3789",2020-03-07,20.96,375,89,8\n"3790",2020-03-06,20.66,236,90,8\n"3791",2020-03-18,20.66,479,91,8\n"3792",2020-03-09,20.18,332,92,8\n"3793",2020-03-28,21.34,317,93,8\n"3794",2020-03-11,21.41,225,94,8\n"3795",2020-03-30,21.43,973,95,8\n"3796",2020-03-14,21.43,202,96,8\n"3797",2020-03-05,22.22,479,97,8\n"3798",2020-03-25,20.17,360,98,8\n"3799",2020-03-19,20.85,1145,99,8\n"3800",2020-03-06,21.27,405,100,8\n"3801",2020-03-24,21.87,410,1,9\n"3802",2020-03-28,21.26,333,2,9\n"3803",2020-03-03,21.22,368,3,9\n"3804",2020-03-24,21.45,753,4,9\n"3805",2020-03-26,21.4,432,5,9\n"3806",2020-03-29,20.93,518,6,9\n"3807",2020-03-24,20.34,968,7,9\n"3808",2020-03-10,20.93,961,8,9\n"3809",2020-03-23,21.81,95,9,9\n"3810",2020-03-03,20.6,456,10,9\n"3811",2020-03-14,20.15,381,11,9\n"3812",2020-03-02,20.13,488,12,9\n"3813",2020-03-22,20.65,1256,13,9\n"3814",2020-03-14,20.6,647,14,9\n"3815",2020-03-28,20.59,673,15,9\n"3816",2020-03-13,21.06,257,16,9\n"3817",2020-03-07,22.13,646,17,9\n"3818",2020-03-27,20.6,359,18,9\n"3819",2020-03-15,21.51,811,19,9\n"3820",2020-03-31,21.91,417,20,9\n"3821",2020-03-30,21.17,416,21,9\n"3822",2020-03-30,20.38,77,22,9\n"3823",2020-03-26,20.76,403,23,9\n"3824",2020-03-12,22.02,709,24,9\n"3825",2020-03-29,22.07,160,25,9\n"3826",2020-03-09,20.81,401,26,9\n"3827",2020-03-29,20.94,216,27,9\n"3828",2020-03-03,20.95,471,28,9\n"3829",2020-03-01,20.78,250,29,9\n"3830",2020-03-28,20.69,200,30,9\n"3831",2020-03-17,21.14,1022,31,9\n"3832",2020-03-07,21.45,541,32,9\n"3833",2020-03-10,20.24,655,33,9\n"3834",2020-03-29,19.7,747,34,9\n"3835",2020-03-27,20.46,310,35,9\n"3836",2020-03-30,21.05,218,36,9\n"3837",2020-03-12,20.79,265,37,9\n"3838",2020-03-28,19.91,334,38,9\n"3839",2020-03-06,20.75,85,39,9\n"3840",2020-03-24,21.38,195,40,9\n"3841",2020-03-24,21.97,262,41,9\n"3842",2020-03-26,21.39,129,42,9\n"3843",2020-03-31,20.08,346,43,9\n"3844",2020-03-14,20.43,296,44,9\n"3845",2020-03-03,20.85,427,45,9\n"3846",2020-03-08,21.26,748,46,9\n"3847",2020-03-19,21.87,142,47,9\n"3848",2020-03-11,21.43,214,48,9\n"3849",2020-03-14,20.45,849,49,9\n"3850",2020-03-31,20.7,144,50,9\n"3851",2020-03-09,21.42,451,51,9\n"3852",2020-03-08,21.18,339,52,9\n"3853",2020-03-30,22,272,53,9\n"3854",2020-03-31,19.99,350,54,9\n"3855",2020-03-15,21.7,1410,55,9\n"3856",2020-03-17,20.56,285,56,9\n"3857",2020-03-17,21.35,127,57,9\n"3858",2020-03-22,21.41,339,58,9\n"3859",2020-03-29,20.48,301,59,9\n"3860",2020-03-22,21.16,465,60,9\n"3861",2020-03-26,20.98,841,61,9\n"3862",2020-03-02,21.45,537,62,9\n"3863",2020-03-26,20.85,493,63,9\n"3864",2020-03-22,21.34,173,64,9\n"3865",2020-03-14,21.37,360,65,9\n"3866",2020-03-18,21.33,432,66,9\n"3867",2020-03-21,20.39,580,67,9\n"3868",2020-03-06,20.62,450,68,9\n"3869",2020-03-25,21.04,245,69,9\n"3870",2020-03-07,20.39,240,70,9\n"3871",2020-03-14,20.75,314,71,9\n"3872",2020-03-12,20.7,363,72,9\n"3873",2020-03-10,20.61,293,73,9\n"3874",2020-03-25,20.56,268,74,9\n"3875",2020-03-18,20.65,611,75,9\n"3876",2020-03-13,20.83,151,76,9\n"3877",2020-03-07,21.55,565,77,9\n"3878",2020-03-21,21.34,333,78,9\n"3879",2020-03-18,21.96,340,79,9\n"3880",2020-03-22,20.55,304,80,9\n"3881",2020-03-27,21.76,139,81,9\n"3882",2020-03-28,22.43,410,82,9\n"3883",2020-03-17,20.94,544,83,9\n"3884",2020-03-03,21.9,148,84,9\n"3885",2020-03-08,20.89,274,85,9\n"3886",2020-03-08,20.61,542,86,9\n"3887",2020-03-31,19.56,310,87,9\n"3888",2020-03-03,21.2,162,88,9\n"3889",2020-03-07,20.88,321,89,9\n"3890",2020-03-06,19.9,260,90,9\n"3891",2020-03-18,21.8,219,91,9\n"3892",2020-03-09,20.69,336,92,9\n"3893",2020-03-28,20.91,161,93,9\n"3894",2020-03-11,22.01,383,94,9\n"3895",2020-03-30,20.22,419,95,9\n"3896",2020-03-14,21.14,514,96,9\n"3897",2020-03-05,21.99,442,97,9\n"3898",2020-03-25,20.99,351,98,9\n"3899",2020-03-19,21.04,260,99,9\n"3900",2020-03-06,21.09,280,100,9\n"3901",2020-03-24,20.89,151,1,10\n"3902",2020-03-28,21.94,601,2,10\n"3903",2020-03-03,20.64,330,3,10\n"3904",2020-03-24,21.11,292,4,10\n"3905",2020-03-26,22.57,183,5,10\n"3906",2020-03-29,21.52,644,6,10\n"3907",2020-03-24,21.4,437,7,10\n"3908",2020-03-10,20.68,616,8,10\n"3909",2020-03-23,21.05,173,9,10\n"3910",2020-03-03,21.14,301,10,10\n"3911",2020-03-14,21.19,277,11,10\n"3912",2020-03-02,21.28,186,12,10\n"3913",2020-03-22,21.26,234,13,10\n"3914",2020-03-14,21.93,484,14,10\n"3915",2020-03-28,21.53,255,15,10\n"3916",2020-03-13,20.47,147,16,10\n"3917",2020-03-07,20.54,431,17,10\n"3918",2020-03-27,21.43,382,18,10\n"3919",2020-03-15,21.7,492,19,10\n"3920",2020-03-31,20.47,394,20,10\n"3921",2020-03-30,22.29,329,21,10\n"3922",2020-03-30,20.77,329,22,10\n"3923",2020-03-26,19.88,365,23,10\n"3924",2020-03-12,21.17,138,24,10\n"3925",2020-03-29,20.97,365,25,10\n"3926",2020-03-09,21.2,412,26,10\n"3927",2020-03-29,21.98,600,27,10\n"3928",2020-03-03,21.71,331,28,10\n"3929",2020-03-01,21.65,447,29,10\n"3930",2020-03-28,20.99,169,30,10\n"3931",2020-03-17,22.46,331,31,10\n"3932",2020-03-07,20.62,330,32,10\n"3933",2020-03-10,20.57,279,33,10\n"3934",2020-03-29,21.57,481,34,10\n"3935",2020-03-27,21.22,193,35,10\n"3936",2020-03-30,20.56,753,36,10\n"3937",2020-03-12,21.16,756,37,10\n"3938",2020-03-28,21.21,231,38,10\n"3939",2020-03-06,21.76,706,39,10\n"3940",2020-03-24,20.5,128,40,10\n"3941",2020-03-24,22.12,527,41,10\n"3942",2020-03-26,20.75,659,42,10\n"3943",2020-03-31,21.3,772,43,10\n"3944",2020-03-14,21.37,205,44,10\n"3945",2020-03-03,21.98,230,45,10\n"3946",2020-03-08,21.13,258,46,10\n"3947",2020-03-19,20.13,281,47,10\n"3948",2020-03-11,20.7,644,48,10\n"3949",2020-03-14,21.79,326,49,10\n"3950",2020-03-31,21.44,298,50,10\n"3951",2020-03-09,21.52,1164,51,10\n"3952",2020-03-08,20.56,178,52,10\n"3953",2020-03-30,20.44,401,53,10\n"3954",2020-03-31,20.8,707,54,10\n"3955",2020-03-15,20.71,446,55,10\n"3956",2020-03-17,20.92,271,56,10\n"3957",2020-03-17,21.34,682,57,10\n"3958",2020-03-22,21.91,471,58,10\n"3959",2020-03-29,21.87,180,59,10\n"3960",2020-03-22,21.46,78,60,10\n"3961",2020-03-26,19.99,767,61,10\n"3962",2020-03-02,22.18,131,62,10\n"3963",2020-03-26,20.42,122,63,10\n"3964",2020-03-22,21.27,634,64,10\n"3965",2020-03-14,22,282,65,10\n"3966",2020-03-18,20.32,519,66,10\n"3967",2020-03-21,20.82,209,67,10\n"3968",2020-03-06,20.25,362,68,10\n"3969",2020-03-25,20.61,497,69,10\n"3970",2020-03-07,21.63,823,70,10\n"3971",2020-03-14,21.47,389,71,10\n"3972",2020-03-12,20.63,535,72,10\n"3973",2020-03-10,20.85,216,73,10\n"3974",2020-03-25,20.62,464,74,10\n"3975",2020-03-18,21.06,361,75,10\n"3976",2020-03-13,21.33,281,76,10\n"3977",2020-03-07,20.67,272,77,10\n"3978",2020-03-21,21.76,279,78,10\n"3979",2020-03-18,21.54,254,79,10\n"3980",2020-03-22,21.66,236,80,10\n"3981",2020-03-27,20.46,132,81,10\n"3982",2020-03-28,20.39,376,82,10\n"3983",2020-03-17,20.68,138,83,10\n"3984",2020-03-03,20.9,767,84,10\n"3985",2020-03-08,19.99,154,85,10\n"3986",2020-03-08,21.59,410,86,10\n"3987",2020-03-31,21.01,559,87,10\n"3988",2020-03-03,20.94,269,88,10\n"3989",2020-03-07,20.47,659,89,10\n"3990",2020-03-06,20.69,672,90,10\n"3991",2020-03-18,22.33,676,91,10\n"3992",2020-03-09,20.51,332,92,10\n"3993",2020-03-28,22.35,497,93,10\n"3994",2020-03-11,20.15,304,94,10\n"3995",2020-03-30,20.39,578,95,10\n"3996",2020-03-14,20.61,475,96,10\n"3997",2020-03-05,21.27,146,97,10\n"3998",2020-03-25,21.52,843,98,10\n"3999",2020-03-19,21.77,226,99,10\n"4000",2020-03-06,21.38,195,100,10\n"4001",2020-04-16,20.13,710,1,1\n"4002",2020-04-22,19.8,466,2,1\n"4003",2020-04-17,20.5,373,3,1\n"4004",2020-04-24,20.5,270,4,1\n"4005",2020-04-30,21.44,364,5,1\n"4006",2020-04-29,19.82,101,6,1\n"4007",2020-04-16,20.38,954,7,1\n"4008",2020-04-12,20.45,526,8,1\n"4009",2020-04-12,20.12,345,9,1\n"4010",2020-04-04,19.83,605,10,1\n"4011",2020-04-07,19.53,539,11,1\n"4012",2020-04-13,20.31,382,12,1\n"4013",2020-04-27,20.54,166,13,1\n"4014",2020-04-26,20.95,960,14,1\n"4015",2020-04-01,20.16,336,15,1\n"4016",2020-04-21,19.39,455,16,1\n"4017",2020-04-11,20.23,312,17,1\n"4018",2020-04-13,20.69,245,18,1\n"4019",2020-04-15,19.71,419,19,1\n"4020",2020-04-17,20.91,659,20,1\n"4021",2020-04-25,21.73,253,21,1\n"4022",2020-04-21,20.39,698,22,1\n"4023",2020-04-17,19.9,297,23,1\n"4024",2020-04-29,21.14,339,24,1\n"4025",2020-04-28,19.95,344,25,1\n"4026",2020-04-25,20.16,486,26,1\n"4027",2020-04-14,21.2,663,27,1\n"4028",2020-04-19,20.68,288,28,1\n"4029",2020-04-23,20.59,1020,29,1\n"4030",2020-04-18,18.8,483,30,1\n"4031",2020-04-12,19.18,470,31,1\n"4032",2020-04-30,20.2,432,32,1\n"4033",2020-04-19,20.98,534,33,1\n"4034",2020-04-11,20.72,238,34,1\n"4035",2020-04-17,20.9,223,35,1\n"4036",2020-04-28,21.75,483,36,1\n"4037",2020-04-11,19.56,806,37,1\n"4038",2020-04-29,20.56,362,38,1\n"4039",2020-04-23,20.16,428,39,1\n"4040",2020-04-19,20.33,495,40,1\n"4041",2020-04-10,19.34,761,41,1\n"4042",2020-04-25,20.38,376,42,1\n"4043",2020-04-27,20.53,593,43,1\n"4044",2020-04-16,20.61,412,44,1\n"4045",2020-04-07,20.44,418,45,1\n"4046",2020-04-13,20.03,644,46,1\n"4047",2020-04-24,20.47,343,47,1\n"4048",2020-04-06,20.29,497,48,1\n"4049",2020-04-20,21.17,257,49,1\n"4050",2020-04-17,19.49,711,50,1\n"4051",2020-04-17,20.34,423,51,1\n"4052",2020-04-29,19.3,437,52,1\n"4053",2020-04-16,20.23,610,53,1\n"4054",2020-04-19,19.86,413,54,1\n"4055",2020-04-28,20.33,334,55,1\n"4056",2020-04-20,19.71,630,56,1\n"4057",2020-04-28,20.85,815,57,1\n"4058",2020-04-02,19.61,446,58,1\n"4059",2020-04-13,20.5,314,59,1\n"4060",2020-04-01,20.45,226,60,1\n"4061",2020-04-10,19.64,307,61,1\n"4062",2020-04-16,20.11,581,62,1\n"4063",2020-04-03,19.03,236,63,1\n"4064",2020-04-25,19.46,578,64,1\n"4065",2020-04-16,19.34,307,65,1\n"4066",2020-04-22,19.46,370,66,1\n"4067",2020-04-17,20.51,658,67,1\n"4068",2020-04-17,20.28,310,68,1\n"4069",2020-04-25,20.72,848,69,1\n"4070",2020-04-02,20.44,957,70,1\n"4071",2020-04-10,20.2,287,71,1\n"4072",2020-04-03,20.7,246,72,1\n"4073",2020-04-15,21.48,782,73,1\n"4074",2020-04-05,20.91,410,74,1\n"4075",2020-04-01,19.37,277,75,1\n"4076",2020-04-12,20.87,845,76,1\n"4077",2020-04-26,19.94,489,77,1\n"4078",2020-04-21,21.14,487,78,1\n"4079",2020-04-08,19.74,346,79,1\n"4080",2020-04-13,20.82,1014,80,1\n"4081",2020-04-27,21.16,377,81,1\n"4082",2020-04-23,20.36,464,82,1\n"4083",2020-04-21,19.95,348,83,1\n"4084",2020-04-03,22.4,504,84,1\n"4085",2020-04-03,19.8,266,85,1\n"4086",2020-04-28,20.23,682,86,1\n"4087",2020-04-27,19.79,334,87,1\n"4088",2020-04-23,20.42,614,88,1\n"4089",2020-04-02,19.86,291,89,1\n"4090",2020-04-03,20.58,438,90,1\n"4091",2020-04-09,20.03,511,91,1\n"4092",2020-04-06,19.62,732,92,1\n"4093",2020-04-29,19.9,593,93,1\n"4094",2020-04-01,21.41,459,94,1\n"4095",2020-04-17,20.08,619,95,1\n"4096",2020-04-07,19.72,683,96,1\n"4097",2020-04-01,21.75,701,97,1\n"4098",2020-04-04,20.11,377,98,1\n"4099",2020-04-09,20.86,691,99,1\n"4100",2020-04-23,21.22,947,100,1\n"4101",2020-04-16,21.5,1227,1,2\n"4102",2020-04-22,19.68,281,2,2\n"4103",2020-04-17,19.52,176,3,2\n"4104",2020-04-24,20.02,391,4,2\n"4105",2020-04-30,21.83,625,5,2\n"4106",2020-04-29,20.47,297,6,2\n"4107",2020-04-16,19.49,225,7,2\n"4108",2020-04-12,20.29,477,8,2\n"4109",2020-04-12,20.49,263,9,2\n"4110",2020-04-04,19.99,300,10,2\n"4111",2020-04-07,20.16,366,11,2\n"4112",2020-04-13,20.95,468,12,2\n"4113",2020-04-27,19.91,663,13,2\n"4114",2020-04-26,19.25,392,14,2\n"4115",2020-04-01,19.4,393,15,2\n"4116",2020-04-21,19.5,503,16,2\n"4117",2020-04-11,20.92,366,17,2\n"4118",2020-04-13,21.08,372,18,2\n"4119",2020-04-15,21.38,712,19,2\n"4120",2020-04-17,20.53,310,20,2\n"4121",2020-04-25,19.64,319,21,2\n"4122",2020-04-21,20.21,495,22,2\n"4123",2020-04-17,19.46,394,23,2\n"4124",2020-04-29,21.1,326,24,2\n"4125",2020-04-28,20.56,444,25,2\n"4126",2020-04-25,20.26,646,26,2\n"4127",2020-04-14,19.86,211,27,2\n"4128",2020-04-19,20.17,762,28,2\n"4129",2020-04-23,20.32,534,29,2\n"4130",2020-04-18,20.45,267,30,2\n"4131",2020-04-12,19.87,436,31,2\n"4132",2020-04-30,19.45,874,32,2\n"4133",2020-04-19,21.27,208,33,2\n"4134",2020-04-11,20.47,435,34,2\n"4135",2020-04-17,20.42,462,35,2\n"4136",2020-04-28,20.28,544,36,2\n"4137",2020-04-11,20.45,608,37,2\n"4138",2020-04-29,19.99,328,38,2\n"4139",2020-04-23,19.58,338,39,2\n"4140",2020-04-19,20.67,215,40,2\n"4141",2020-04-10,19.27,336,41,2\n"4142",2020-04-25,20.77,427,42,2\n"4143",2020-04-27,21.17,235,43,2\n"4144",2020-04-16,20.6,808,44,2\n"4145",2020-04-07,19.79,369,45,2\n"4146",2020-04-13,20.18,738,46,2\n"4147",2020-04-24,19.95,406,47,2\n"4148",2020-04-06,20.46,477,48,2\n"4149",2020-04-20,21.14,333,49,2\n"4150",2020-04-17,20.16,362,50,2\n"4151",2020-04-17,20.09,433,51,2\n"4152",2020-04-29,20.72,895,52,2\n"4153",2020-04-16,20.13,834,53,2\n"4154",2020-04-19,19.3,339,54,2\n"4155",2020-04-28,20.36,814,55,2\n"4156",2020-04-20,20.41,509,56,2\n"4157",2020-04-28,19.58,532,57,2\n"4158",2020-04-02,20.44,614,58,2\n"4159",2020-04-13,19.93,290,59,2\n"4160",2020-04-01,20.94,948,60,2\n"4161",2020-04-10,21,417,61,2\n"4162",2020-04-16,20.58,246,62,2\n"4163",2020-04-03,20.15,373,63,2\n"4164",2020-04-25,20.49,289,64,2\n"4165",2020-04-16,20.35,251,65,2\n"4166",2020-04-22,21.44,413,66,2\n"4167",2020-04-17,19.85,528,67,2\n"4168",2020-04-17,20.26,401,68,2\n"4169",2020-04-25,19.81,320,69,2\n"4170",2020-04-02,20.68,672,70,2\n"4171",2020-04-10,19.35,455,71,2\n"4172",2020-04-03,19.38,338,72,2\n"4173",2020-04-15,20.86,315,73,2\n"4174",2020-04-05,20.6,543,74,2\n"4175",2020-04-01,20.48,406,75,2\n"4176",2020-04-12,20.3,850,76,2\n"4177",2020-04-26,20.42,297,77,2\n"4178",2020-04-21,20.05,335,78,2\n"4179",2020-04-08,20.08,805,79,2\n"4180",2020-04-13,20.53,517,80,2\n"4181",2020-04-27,19.42,559,81,2\n"4182",2020-04-23,20.79,357,82,2\n"4183",2020-04-21,19.82,918,83,2\n"4184",2020-04-03,20.77,382,84,2\n"4185",2020-04-03,20.16,1298,85,2\n"4186",2020-04-28,20.88,480,86,2\n"4187",2020-04-27,19.44,891,87,2\n"4188",2020-04-23,21.31,383,88,2\n"4189",2020-04-02,20.6,468,89,2\n"4190",2020-04-03,19.83,273,90,2\n"4191",2020-04-09,21.67,751,91,2\n"4192",2020-04-06,19.12,370,92,2\n"4193",2020-04-29,20.18,315,93,2\n"4194",2020-04-01,19.73,253,94,2\n"4195",2020-04-17,19.87,624,95,2\n"4196",2020-04-07,21.1,506,96,2\n"4197",2020-04-01,19.86,576,97,2\n"4198",2020-04-04,20.65,344,98,2\n"4199",2020-04-09,19.7,734,99,2\n"4200",2020-04-23,20.76,910,100,2\n"4201",2020-04-16,20.14,494,1,3\n"4202",2020-04-22,20.71,646,2,3\n"4203",2020-04-17,20.89,516,3,3\n"4204",2020-04-24,20.66,611,4,3\n"4205",2020-04-30,19.54,990,5,3\n"4206",2020-04-29,19.36,734,6,3\n"4207",2020-04-16,20.9,451,7,3\n"4208",2020-04-12,19.55,280,8,3\n"4209",2020-04-12,20.27,190,9,3\n"4210",2020-04-04,20.33,323,10,3\n"4211",2020-04-07,20,196,11,3\n"4212",2020-04-13,20.47,423,12,3\n"4213",2020-04-27,20.7,970,13,3\n"4214",2020-04-26,19.25,474,14,3\n"4215",2020-04-01,21.03,283,15,3\n"4216",2020-04-21,19.04,403,16,3\n"4217",2020-04-11,20.33,348,17,3\n"4218",2020-04-13,21.41,233,18,3\n"4219",2020-04-15,20.22,542,19,3\n"4220",2020-04-17,21.37,514,20,3\n"4221",2020-04-25,19.86,535,21,3\n"4222",2020-04-21,20.64,317,22,3\n"4223",2020-04-17,19.26,998,23,3\n"4224",2020-04-29,19.96,274,24,3\n"4225",2020-04-28,20.64,238,25,3\n"4226",2020-04-25,20.6,872,26,3\n"4227",2020-04-14,20.92,428,27,3\n"4228",2020-04-19,21.8,486,28,3\n"4229",2020-04-23,20.49,266,29,3\n"4230",2020-04-18,20.33,521,30,3\n"4231",2020-04-12,20.17,179,31,3\n"4232",2020-04-30,20.62,413,32,3\n"4233",2020-04-19,20.3,443,33,3\n"4234",2020-04-11,21.03,279,34,3\n"4235",2020-04-17,21.45,423,35,3\n"4236",2020-04-28,20.06,500,36,3\n"4237",2020-04-11,20.62,588,37,3\n"4238",2020-04-29,20.33,398,38,3\n"4239",2020-04-23,19.93,411,39,3\n"4240",2020-04-19,20.18,344,40,3\n"4241",2020-04-10,19.88,572,41,3\n"4242",2020-04-25,20.34,428,42,3\n"4243",2020-04-27,20.84,354,43,3\n"4244",2020-04-16,20.14,1190,44,3\n"4245",2020-04-07,20.27,373,45,3\n"4246",2020-04-13,20.52,296,46,3\n"4247",2020-04-24,20.15,506,47,3\n"4248",2020-04-06,20.84,414,48,3\n"4249",2020-04-20,19.26,531,49,3\n"4250",2020-04-17,19.62,599,50,3\n"4251",2020-04-17,19.96,333,51,3\n"4252",2020-04-29,20.33,313,52,3\n"4253",2020-04-16,20.12,212,53,3\n"4254",2020-04-19,19.93,634,54,3\n"4255",2020-04-28,21.23,647,55,3\n"4256",2020-04-20,20.53,829,56,3\n"4257",2020-04-28,20.71,740,57,3\n"4258",2020-04-02,20.4,850,58,3\n"4259",2020-04-13,20.14,407,59,3\n"4260",2020-04-01,20.69,479,60,3\n"4261",2020-04-10,20.12,484,61,3\n"4262",2020-04-16,20.2,303,62,3\n"4263",2020-04-03,20.57,731,63,3\n"4264",2020-04-25,20.53,683,64,3\n"4265",2020-04-16,20.28,434,65,3\n"4266",2020-04-22,20.07,342,66,3\n"4267",2020-04-17,21.44,213,67,3\n"4268",2020-04-17,20.93,716,68,3\n"4269",2020-04-25,20.3,347,69,3\n"4270",2020-04-02,19.95,338,70,3\n"4271",2020-04-10,21.4,491,71,3\n"4272",2020-04-03,19.73,146,72,3\n"4273",2020-04-15,20.5,609,73,3\n"4274",2020-04-05,21.3,460,74,3\n"4275",2020-04-01,20.97,406,75,3\n"4276",2020-04-12,18.96,750,76,3\n"4277",2020-04-26,20.24,678,77,3\n"4278",2020-04-21,20.75,260,78,3\n"4279",2020-04-08,19.73,449,79,3\n"4280",2020-04-13,19.89,652,80,3\n"4281",2020-04-27,20.57,241,81,3\n"4282",2020-04-23,20.06,442,82,3\n"4283",2020-04-21,21.26,662,83,3\n"4284",2020-04-03,21.21,657,84,3\n"4285",2020-04-03,20.04,534,85,3\n"4286",2020-04-28,20.84,639,86,3\n"4287",2020-04-27,19.69,306,87,3\n"4288",2020-04-23,20.99,453,88,3\n"4289",2020-04-02,21.74,301,89,3\n"4290",2020-04-03,20.45,491,90,3\n"4291",2020-04-09,20.23,240,91,3\n"4292",2020-04-06,19.78,331,92,3\n"4293",2020-04-29,20.74,315,93,3\n"4294",2020-04-01,20.86,815,94,3\n"4295",2020-04-17,20.25,231,95,3\n"4296",2020-04-07,20.44,350,96,3\n"4297",2020-04-01,20.1,377,97,3\n"4298",2020-04-04,21.36,396,98,3\n"4299",2020-04-09,19.8,570,99,3\n"4300",2020-04-23,20.54,354,100,3\n"4301",2020-04-16,20.42,451,1,4\n"4302",2020-04-22,20,491,2,4\n"4303",2020-04-17,20.66,312,3,4\n"4304",2020-04-24,21.04,839,4,4\n"4305",2020-04-30,19.34,510,5,4\n"4306",2020-04-29,21.1,893,6,4\n"4307",2020-04-16,20.35,577,7,4\n"4308",2020-04-12,20.42,337,8,4\n"4309",2020-04-12,19.99,515,9,4\n"4310",2020-04-04,20.12,543,10,4\n"4311",2020-04-07,20.02,677,11,4\n"4312",2020-04-13,20.57,578,12,4\n"4313",2020-04-27,19.67,158,13,4\n"4314",2020-04-26,19.7,216,14,4\n"4315",2020-04-01,21.25,268,15,4\n"4316",2020-04-21,19.85,437,16,4\n"4317",2020-04-11,20.54,482,17,4\n"4318",2020-04-13,19.77,440,18,4\n"4319",2020-04-15,21.9,311,19,4\n"4320",2020-04-17,21.2,404,20,4\n"4321",2020-04-25,20.36,484,21,4\n"4322",2020-04-21,19.82,584,22,4\n"4323",2020-04-17,20.41,500,23,4\n"4324",2020-04-29,20.48,1037,24,4\n"4325",2020-04-28,20.89,735,25,4\n"4326",2020-04-25,20.4,195,26,4\n"4327",2020-04-14,20.37,186,27,4\n"4328",2020-04-19,20.08,1014,28,4\n"4329",2020-04-23,21.36,732,29,4\n"4330",2020-04-18,19.88,842,30,4\n"4331",2020-04-12,20.77,349,31,4\n"4332",2020-04-30,20.51,319,32,4\n"4333",2020-04-19,19.83,87,33,4\n"4334",2020-04-11,21.49,280,34,4\n"4335",2020-04-17,19.37,375,35,4\n"4336",2020-04-28,20.8,391,36,4\n"4337",2020-04-11,20.24,453,37,4\n"4338",2020-04-29,20.4,804,38,4\n"4339",2020-04-23,20.11,581,39,4\n"4340",2020-04-19,20.42,387,40,4\n"4341",2020-04-10,20.78,1207,41,4\n"4342",2020-04-25,20.77,226,42,4\n"4343",2020-04-27,20.98,422,43,4\n"4344",2020-04-16,20.24,273,44,4\n"4345",2020-04-07,21.15,255,45,4\n"4346",2020-04-13,20.63,977,46,4\n"4347",2020-04-24,20.48,418,47,4\n"4348",2020-04-06,19.52,270,48,4\n"4349",2020-04-20,20.52,682,49,4\n"4350",2020-04-17,20.28,511,50,4\n"4351",2020-04-17,20.48,157,51,4\n"4352",2020-04-29,20.73,683,52,4\n"4353",2020-04-16,19.85,267,53,4\n"4354",2020-04-19,20.41,392,54,4\n"4355",2020-04-28,20.38,457,55,4\n"4356",2020-04-20,19.46,518,56,4\n"4357",2020-04-28,21.38,582,57,4\n"4358",2020-04-02,20.91,358,58,4\n"4359",2020-04-13,20.08,871,59,4\n"4360",2020-04-01,20.48,445,60,4\n"4361",2020-04-10,20.74,219,61,4\n"4362",2020-04-16,21.23,313,62,4\n"4363",2020-04-03,20.79,362,63,4\n"4364",2020-04-25,19.95,780,64,4\n"4365",2020-04-16,21.18,549,65,4\n"4366",2020-04-22,20.05,648,66,4\n"4367",2020-04-17,19.93,822,67,4\n"4368",2020-04-17,19.55,433,68,4\n"4369",2020-04-25,19.88,481,69,4\n"4370",2020-04-02,20.21,286,70,4\n"4371",2020-04-10,20.43,674,71,4\n"4372",2020-04-03,19.9,464,72,4\n"4373",2020-04-15,19.99,609,73,4\n"4374",2020-04-05,21.02,610,74,4\n"4375",2020-04-01,20.38,638,75,4\n"4376",2020-04-12,19.75,766,76,4\n"4377",2020-04-26,19.98,759,77,4\n"4378",2020-04-21,20.25,394,78,4\n"4379",2020-04-08,20.51,299,79,4\n"4380",2020-04-13,21.25,498,80,4\n"4381",2020-04-27,20.6,672,81,4\n"4382",2020-04-23,21.48,267,82,4\n"4383",2020-04-21,20.61,519,83,4\n"4384",2020-04-03,21.18,380,84,4\n"4385",2020-04-03,20.78,482,85,4\n"4386",2020-04-28,19.91,785,86,4\n"4387",2020-04-27,20.07,484,87,4\n"4388",2020-04-23,20.24,221,88,4\n"4389",2020-04-02,19.09,238,89,4\n"4390",2020-04-03,20.54,295,90,4\n"4391",2020-04-09,19.9,689,91,4\n"4392",2020-04-06,19.55,1262,92,4\n"4393",2020-04-29,21.88,506,93,4\n"4394",2020-04-01,20.52,441,94,4\n"4395",2020-04-17,21.8,331,95,4\n"4396",2020-04-07,19.18,270,96,4\n"4397",2020-04-01,20.53,391,97,4\n"4398",2020-04-04,20.48,785,98,4\n"4399",2020-04-09,20.36,245,99,4\n"4400",2020-04-23,21.25,646,100,4\n"4401",2020-04-16,19.75,367,1,5\n"4402",2020-04-22,20.27,286,2,5\n"4403",2020-04-17,20.64,412,3,5\n"4404",2020-04-24,19.99,365,4,5\n"4405",2020-04-30,20.86,427,5,5\n"4406",2020-04-29,18.9,556,6,5\n"4407",2020-04-16,21.66,404,7,5\n"4408",2020-04-12,20.9,461,8,5\n"4409",2020-04-12,20.32,304,9,5\n"4410",2020-04-04,21.17,263,10,5\n"4411",2020-04-07,20.79,580,11,5\n"4412",2020-04-13,20.93,242,12,5\n"4413",2020-04-27,19.97,108,13,5\n"4414",2020-04-26,20.2,779,14,5\n"4415",2020-04-01,20.18,833,15,5\n"4416",2020-04-21,20.86,561,16,5\n"4417",2020-04-11,20.74,493,17,5\n"4418",2020-04-13,20.82,645,18,5\n"4419",2020-04-15,19.97,307,19,5\n"4420",2020-04-17,21.2,419,20,5\n"4421",2020-04-25,20.67,376,21,5\n"4422",2020-04-21,20.65,815,22,5\n"4423",2020-04-17,19.57,594,23,5\n"4424",2020-04-29,20.9,360,24,5\n"4425",2020-04-28,21.66,228,25,5\n"4426",2020-04-25,20.14,209,26,5\n"4427",2020-04-14,19.79,514,27,5\n"4428",2020-04-19,19.81,376,28,5\n"4429",2020-04-23,18.95,262,29,5\n"4430",2020-04-18,20.91,426,30,5\n"4431",2020-04-12,20.14,388,31,5\n"4432",2020-04-30,20.84,213,32,5\n"4433",2020-04-19,20.06,471,33,5\n"4434",2020-04-11,19.66,328,34,5\n"4435",2020-04-17,20.56,374,35,5\n"4436",2020-04-28,20.01,615,36,5\n"4437",2020-04-11,19.88,759,37,5\n"4438",2020-04-29,19.7,352,38,5\n"4439",2020-04-23,19.25,782,39,5\n"4440",2020-04-19,20.42,318,40,5\n"4441",2020-04-10,21.03,308,41,5\n"4442",2020-04-25,20.34,418,42,5\n"4443",2020-04-27,21.1,698,43,5\n"4444",2020-04-16,20.55,607,44,5\n"4445",2020-04-07,19.57,1115,45,5\n"4446",2020-04-13,20.06,300,46,5\n"4447",2020-04-24,19.66,614,47,5\n"4448",2020-04-06,21.96,504,48,5\n"4449",2020-04-20,19.65,572,49,5\n"4450",2020-04-17,19.98,281,50,5\n"4451",2020-04-17,21.48,256,51,5\n"4452",2020-04-29,21.11,853,52,5\n"4453",2020-04-16,19.41,241,53,5\n"4454",2020-04-19,18.98,251,54,5\n"4455",2020-04-28,20.24,879,55,5\n"4456",2020-04-20,20.23,240,56,5\n"4457",2020-04-28,20.66,501,57,5\n"4458",2020-04-02,20.39,266,58,5\n"4459",2020-04-13,20.89,604,59,5\n"4460",2020-04-01,21.66,393,60,5\n"4461",2020-04-10,21.47,171,61,5\n"4462",2020-04-16,20.18,445,62,5\n"4463",2020-04-03,20.67,503,63,5\n"4464",2020-04-25,20.85,470,64,5\n"4465",2020-04-16,20.1,358,65,5\n"4466",2020-04-22,20.05,534,66,5\n"4467",2020-04-17,21.07,786,67,5\n"4468",2020-04-17,19.52,524,68,5\n"4469",2020-04-25,20.85,944,69,5\n"4470",2020-04-02,19.28,546,70,5\n"4471",2020-04-10,20.52,609,71,5\n"4472",2020-04-03,21.51,921,72,5\n"4473",2020-04-15,20.3,519,73,5\n"4474",2020-04-05,21.07,275,74,5\n"4475",2020-04-01,20.44,507,75,5\n"4476",2020-04-12,19.55,397,76,5\n"4477",2020-04-26,20.59,618,77,5\n"4478",2020-04-21,20.42,798,78,5\n"4479",2020-04-08,21.41,707,79,5\n"4480",2020-04-13,21.87,377,80,5\n"4481",2020-04-27,19.81,514,81,5\n"4482",2020-04-23,19.96,715,82,5\n"4483",2020-04-21,20.16,389,83,5\n"4484",2020-04-03,21.36,363,84,5\n"4485",2020-04-03,20.48,210,85,5\n"4486",2020-04-28,20.92,365,86,5\n"4487",2020-04-27,20.33,882,87,5\n"4488",2020-04-23,19.81,848,88,5\n"4489",2020-04-02,20.86,628,89,5\n"4490",2020-04-03,19.8,586,90,5\n"4491",2020-04-09,20.34,565,91,5\n"4492",2020-04-06,20.32,327,92,5\n"4493",2020-04-29,21.58,892,93,5\n"4494",2020-04-01,19.23,458,94,5\n"4495",2020-04-17,20.04,871,95,5\n"4496",2020-04-07,19.63,180,96,5\n"4497",2020-04-01,19.8,600,97,5\n"4498",2020-04-04,20.9,685,98,5\n"4499",2020-04-09,20.42,303,99,5\n"4500",2020-04-23,21.22,289,100,5\n"4501",2020-04-16,20.77,501,1,6\n"4502",2020-04-22,19.76,484,2,6\n"4503",2020-04-17,19.44,561,3,6\n"4504",2020-04-24,19.72,307,4,6\n"4505",2020-04-30,20.97,438,5,6\n"4506",2020-04-29,21.18,560,6,6\n"4507",2020-04-16,20.31,586,7,6\n"4508",2020-04-12,20.52,356,8,6\n"4509",2020-04-12,19.41,121,9,6\n"4510",2020-04-04,20.35,1310,10,6\n"4511",2020-04-07,21.56,728,11,6\n"4512",2020-04-13,21.24,518,12,6\n"4513",2020-04-27,20.8,456,13,6\n"4514",2020-04-26,20.77,799,14,6\n"4515",2020-04-01,20.1,264,15,6\n"4516",2020-04-21,20.4,552,16,6\n"4517",2020-04-11,20.38,361,17,6\n"4518",2020-04-13,19.84,489,18,6\n"4519",2020-04-15,20.66,130,19,6\n"4520",2020-04-17,19.7,294,20,6\n"4521",2020-04-25,20.83,543,21,6\n"4522",2020-04-21,21.06,360,22,6\n"4523",2020-04-17,20.58,181,23,6\n"4524",2020-04-29,20.24,281,24,6\n"4525",2020-04-28,20.03,204,25,6\n"4526",2020-04-25,20.14,371,26,6\n"4527",2020-04-14,20.92,565,27,6\n"4528",2020-04-19,20.14,371,28,6\n"4529",2020-04-23,19.89,514,29,6\n"4530",2020-04-18,19.97,284,30,6\n"4531",2020-04-12,20.33,500,31,6\n"4532",2020-04-30,20.06,494,32,6\n"4533",2020-04-19,20.3,296,33,6\n"4534",2020-04-11,19.66,1274,34,6\n"4535",2020-04-17,19.92,672,35,6\n"4536",2020-04-28,19.88,940,36,6\n"4537",2020-04-11,20.3,804,37,6\n"4538",2020-04-29,20.81,330,38,6\n"4539",2020-04-23,20.5,363,39,6\n"4540",2020-04-19,20.37,562,40,6\n"4541",2020-04-10,20.16,494,41,6\n"4542",2020-04-25,20.68,773,42,6\n"4543",2020-04-27,20.42,611,43,6\n"4544",2020-04-16,21.06,711,44,6\n"4545",2020-04-07,19.87,356,45,6\n"4546",2020-04-13,20.03,875,46,6\n"4547",2020-04-24,20.57,442,47,6\n"4548",2020-04-06,20.3,285,48,6\n"4549",2020-04-20,20.29,355,49,6\n"4550",2020-04-17,20.22,466,50,6\n"4551",2020-04-17,19.41,281,51,6\n"4552",2020-04-29,20.25,635,52,6\n"4553",2020-04-16,20.3,1019,53,6\n"4554",2020-04-19,20.04,277,54,6\n"4555",2020-04-28,20.24,603,55,6\n"4556",2020-04-20,20.16,666,56,6\n"4557",2020-04-28,19.89,758,57,6\n"4558",2020-04-02,20.25,206,58,6\n"4559",2020-04-13,20.31,526,59,6\n"4560",2020-04-01,21.2,445,60,6\n"4561",2020-04-10,19.93,228,61,6\n"4562",2020-04-16,19.68,247,62,6\n"4563",2020-04-03,19.59,211,63,6\n"4564",2020-04-25,20.79,488,64,6\n"4565",2020-04-16,20.64,437,65,6\n"4566",2020-04-22,19.95,561,66,6\n"4567",2020-04-17,19.71,961,67,6\n"4568",2020-04-17,20.46,566,68,6\n"4569",2020-04-25,20.64,507,69,6\n"4570",2020-04-02,19.57,495,70,6\n"4571",2020-04-10,19.5,336,71,6\n"4572",2020-04-03,19.86,615,72,6\n"4573",2020-04-15,20.52,704,73,6\n"4574",2020-04-05,19.47,445,74,6\n"4575",2020-04-01,21.82,1001,75,6\n"4576",2020-04-12,20.13,390,76,6\n"4577",2020-04-26,20.05,264,77,6\n"4578",2020-04-21,19.81,604,78,6\n"4579",2020-04-08,19.45,411,79,6\n"4580",2020-04-13,19.98,895,80,6\n"4581",2020-04-27,19.85,309,81,6\n"4582",2020-04-23,21.23,349,82,6\n"4583",2020-04-21,20.87,413,83,6\n"4584",2020-04-03,19.92,1493,84,6\n"4585",2020-04-03,19.39,408,85,6\n"4586",2020-04-28,20.61,497,86,6\n"4587",2020-04-27,19.67,411,87,6\n"4588",2020-04-23,21.59,425,88,6\n"4589",2020-04-02,19.55,332,89,6\n"4590",2020-04-03,20.3,322,90,6\n"4591",2020-04-09,20.73,409,91,6\n"4592",2020-04-06,20.42,650,92,6\n"4593",2020-04-29,20.07,322,93,6\n"4594",2020-04-01,20.01,841,94,6\n"4595",2020-04-17,20.02,245,95,6\n"4596",2020-04-07,20.39,530,96,6\n"4597",2020-04-01,21.01,353,97,6\n"4598",2020-04-04,20.42,233,98,6\n"4599",2020-04-09,20.85,795,99,6\n"4600",2020-04-23,20.35,320,100,6\n"4601",2020-04-16,20.43,329,1,7\n"4602",2020-04-22,22.01,545,2,7\n"4603",2020-04-17,18.98,589,3,7\n"4604",2020-04-24,21.26,547,4,7\n"4605",2020-04-30,20.85,283,5,7\n"4606",2020-04-29,21.04,621,6,7\n"4607",2020-04-16,20.58,434,7,7\n"4608",2020-04-12,20.12,280,8,7\n"4609",2020-04-12,20.52,349,9,7\n"4610",2020-04-04,21.32,621,10,7\n"4611",2020-04-07,20.57,254,11,7\n"4612",2020-04-13,20.41,438,12,7\n"4613",2020-04-27,20.71,966,13,7\n"4614",2020-04-26,19.45,337,14,7\n"4615",2020-04-01,20.13,476,15,7\n"4616",2020-04-21,19.71,248,16,7\n"4617",2020-04-11,19.87,406,17,7\n"4618",2020-04-13,21.5,598,18,7\n"4619",2020-04-15,20.38,280,19,7\n"4620",2020-04-17,21.15,213,20,7\n"4621",2020-04-25,19.25,798,21,7\n"4622",2020-04-21,19.76,376,22,7\n"4623",2020-04-17,20.7,627,23,7\n"4624",2020-04-29,20.19,95,24,7\n"4625",2020-04-28,19.67,232,25,7\n"4626",2020-04-25,21.86,466,26,7\n"4627",2020-04-14,20.7,445,27,7\n"4628",2020-04-19,19.83,380,28,7\n"4629",2020-04-23,19.98,641,29,7\n"4630",2020-04-18,20.47,291,30,7\n"4631",2020-04-12,21.01,807,31,7\n"4632",2020-04-30,20.91,338,32,7\n"4633",2020-04-19,20.8,479,33,7\n"4634",2020-04-11,20.46,637,34,7\n"4635",2020-04-17,19.55,514,35,7\n"4636",2020-04-28,20.24,532,36,7\n"4637",2020-04-11,18.89,267,37,7\n"4638",2020-04-29,20.64,482,38,7\n"4639",2020-04-23,20.08,438,39,7\n"4640",2020-04-19,20.29,702,40,7\n"4641",2020-04-10,20.95,273,41,7\n"4642",2020-04-25,19.94,653,42,7\n"4643",2020-04-27,19.62,1276,43,7\n"4644",2020-04-16,20.16,439,44,7\n"4645",2020-04-07,19.83,206,45,7\n"4646",2020-04-13,20.78,473,46,7\n"4647",2020-04-24,19.7,462,47,7\n"4648",2020-04-06,20.26,605,48,7\n"4649",2020-04-20,19.94,511,49,7\n"4650",2020-04-17,20.06,887,50,7\n"4651",2020-04-17,19.58,425,51,7\n"4652",2020-04-29,21.54,940,52,7\n"4653",2020-04-16,20.54,638,53,7\n"4654",2020-04-19,19.77,870,54,7\n"4655",2020-04-28,19.22,946,55,7\n"4656",2020-04-20,21.54,753,56,7\n"4657",2020-04-28,20.2,468,57,7\n"4658",2020-04-02,20.47,243,58,7\n"4659",2020-04-13,19.95,467,59,7\n"4660",2020-04-01,20.61,512,60,7\n"4661",2020-04-10,19.94,518,61,7\n"4662",2020-04-16,19.83,529,62,7\n"4663",2020-04-03,19.77,964,63,7\n"4664",2020-04-25,19.96,335,64,7\n"4665",2020-04-16,20.36,326,65,7\n"4666",2020-04-22,20.21,235,66,7\n"4667",2020-04-17,20.19,204,67,7\n"4668",2020-04-17,20.81,313,68,7\n"4669",2020-04-25,20.46,590,69,7\n"4670",2020-04-02,20.01,765,70,7\n"4671",2020-04-10,19.84,198,71,7\n"4672",2020-04-03,20.4,335,72,7\n"4673",2020-04-15,21.26,443,73,7\n"4674",2020-04-05,20.57,609,74,7\n"4675",2020-04-01,21.23,959,75,7\n"4676",2020-04-12,19.94,609,76,7\n"4677",2020-04-26,19.62,416,77,7\n"4678",2020-04-21,19.61,312,78,7\n"4679",2020-04-08,19.72,554,79,7\n"4680",2020-04-13,20.41,561,80,7\n"4681",2020-04-27,20.52,436,81,7\n"4682",2020-04-23,21.18,554,82,7\n"4683",2020-04-21,20.88,501,83,7\n"4684",2020-04-03,19.46,383,84,7\n"4685",2020-04-03,20.46,827,85,7\n"4686",2020-04-28,21.68,537,86,7\n"4687",2020-04-27,21.21,1251,87,7\n"4688",2020-04-23,20.33,324,88,7\n"4689",2020-04-02,21.62,416,89,7\n"4690",2020-04-03,20.36,260,90,7\n"4691",2020-04-09,20.44,318,91,7\n"4692",2020-04-06,19.27,362,92,7\n"4693",2020-04-29,20.14,890,93,7\n"4694",2020-04-01,19.12,207,94,7\n"4695",2020-04-17,21,282,95,7\n"4696",2020-04-07,20.12,596,96,7\n"4697",2020-04-01,19.79,438,97,7\n"4698",2020-04-04,19.91,405,98,7\n"4699",2020-04-09,20.24,288,99,7\n"4700",2020-04-23,20.51,179,100,7\n"4701",2020-04-16,19.87,393,1,8\n"4702",2020-04-22,20.55,437,2,8\n"4703",2020-04-17,20.94,537,3,8\n"4704",2020-04-24,20.21,735,4,8\n"4705",2020-04-30,21.02,667,5,8\n"4706",2020-04-29,19.91,643,6,8\n"4707",2020-04-16,20.73,705,7,8\n"4708",2020-04-12,19.69,468,8,8\n"4709",2020-04-12,19.73,579,9,8\n"4710",2020-04-04,21.01,455,10,8\n"4711",2020-04-07,20.28,292,11,8\n"4712",2020-04-13,20.74,594,12,8\n"4713",2020-04-27,20.03,554,13,8\n"4714",2020-04-26,19.44,320,14,8\n"4715",2020-04-01,20.93,772,15,8\n"4716",2020-04-21,19.89,490,16,8\n"4717",2020-04-11,20.17,894,17,8\n"4718",2020-04-13,20.26,242,18,8\n"4719",2020-04-15,21.8,410,19,8\n"4720",2020-04-17,20.64,516,20,8\n"4721",2020-04-25,20.25,503,21,8\n"4722",2020-04-21,20.51,697,22,8\n"4723",2020-04-17,20.31,245,23,8\n"4724",2020-04-29,19.29,961,24,8\n"4725",2020-04-28,21.84,517,25,8\n"4726",2020-04-25,20.03,409,26,8\n"4727",2020-04-14,20.48,249,27,8\n"4728",2020-04-19,20.07,693,28,8\n"4729",2020-04-23,22.03,482,29,8\n"4730",2020-04-18,20.58,855,30,8\n"4731",2020-04-12,20.83,994,31,8\n"4732",2020-04-30,21.16,551,32,8\n"4733",2020-04-19,22.08,680,33,8\n"4734",2020-04-11,18.95,413,34,8\n"4735",2020-04-17,20.7,425,35,8\n"4736",2020-04-28,20.51,890,36,8\n"4737",2020-04-11,21.51,335,37,8\n"4738",2020-04-29,21.08,383,38,8\n"4739",2020-04-23,20.79,318,39,8\n"4740",2020-04-19,20.62,493,40,8\n"4741",2020-04-10,19.74,279,41,8\n"4742",2020-04-25,20.97,408,42,8\n"4743",2020-04-27,21.63,206,43,8\n"4744",2020-04-16,20.1,372,44,8\n"4745",2020-04-07,20.87,417,45,8\n"4746",2020-04-13,19.31,338,46,8\n"4747",2020-04-24,20.45,287,47,8\n"4748",2020-04-06,20.25,545,48,8\n"4749",2020-04-20,20.63,428,49,8\n"4750",2020-04-17,19.03,290,50,8\n"4751",2020-04-17,20.57,576,51,8\n"4752",2020-04-29,19.97,457,52,8\n"4753",2020-04-16,20.89,235,53,8\n"4754",2020-04-19,19.55,504,54,8\n"4755",2020-04-28,20.3,513,55,8\n"4756",2020-04-20,19.26,345,56,8\n"4757",2020-04-28,20.18,313,57,8\n"4758",2020-04-02,20.36,562,58,8\n"4759",2020-04-13,19.87,133,59,8\n"4760",2020-04-01,19.42,447,60,8\n"4761",2020-04-10,20.27,463,61,8\n"4762",2020-04-16,19.74,327,62,8\n"4763",2020-04-03,19.87,242,63,8\n"4764",2020-04-25,19.79,395,64,8\n"4765",2020-04-16,21.22,629,65,8\n"4766",2020-04-22,20.11,310,66,8\n"4767",2020-04-17,19.69,628,67,8\n"4768",2020-04-17,20.75,332,68,8\n"4769",2020-04-25,19.6,659,69,8\n"4770",2020-04-02,20.36,1346,70,8\n"4771",2020-04-10,21.76,242,71,8\n"4772",2020-04-03,19.48,219,72,8\n"4773",2020-04-15,21.15,437,73,8\n"4774",2020-04-05,20.8,1037,74,8\n"4775",2020-04-01,21.01,813,75,8\n"4776",2020-04-12,20.41,382,76,8\n"4777",2020-04-26,19.98,207,77,8\n"4778",2020-04-21,19.8,438,78,8\n"4779",2020-04-08,19.4,505,79,8\n"4780",2020-04-13,19.77,711,80,8\n"4781",2020-04-27,20.72,264,81,8\n"4782",2020-04-23,20.34,341,82,8\n"4783",2020-04-21,19.63,817,83,8\n"4784",2020-04-03,19.98,463,84,8\n"4785",2020-04-03,20.91,915,85,8\n"4786",2020-04-28,19.54,231,86,8\n"4787",2020-04-27,20.42,439,87,8\n"4788",2020-04-23,20.58,283,88,8\n"4789",2020-04-02,19.74,545,89,8\n"4790",2020-04-03,19.97,615,90,8\n"4791",2020-04-09,20.65,532,91,8\n"4792",2020-04-06,19.94,347,92,8\n"4793",2020-04-29,21.24,360,93,8\n"4794",2020-04-01,20.51,435,94,8\n"4795",2020-04-17,20.55,595,95,8\n"4796",2020-04-07,19.95,1028,96,8\n"4797",2020-04-01,21.75,563,97,8\n"4798",2020-04-04,20.93,929,98,8\n"4799",2020-04-09,20.29,207,99,8\n"4800",2020-04-23,20.73,232,100,8\n"4801",2020-04-16,19.62,401,1,9\n"4802",2020-04-22,20.38,356,2,9\n"4803",2020-04-17,19.76,246,3,9\n"4804",2020-04-24,20.03,551,4,9\n"4805",2020-04-30,20.82,484,5,9\n"4806",2020-04-29,19.61,414,6,9\n"4807",2020-04-16,20.14,212,7,9\n"4808",2020-04-12,20.3,762,8,9\n"4809",2020-04-12,20.14,247,9,9\n"4810",2020-04-04,20.66,370,10,9\n"4811",2020-04-07,20.28,690,11,9\n"4812",2020-04-13,20.54,196,12,9\n"4813",2020-04-27,20.16,436,13,9\n"4814",2020-04-26,21.54,703,14,9\n"4815",2020-04-01,20.89,193,15,9\n"4816",2020-04-21,21.4,278,16,9\n"4817",2020-04-11,20.19,630,17,9\n"4818",2020-04-13,19.81,880,18,9\n"4819",2020-04-15,19.44,724,19,9\n"4820",2020-04-17,20.49,559,20,9\n"4821",2020-04-25,21.02,1074,21,9\n"4822",2020-04-21,20.55,411,22,9\n"4823",2020-04-17,19.22,599,23,9\n"4824",2020-04-29,20.58,536,24,9\n"4825",2020-04-28,21.31,367,25,9\n"4826",2020-04-25,20.71,620,26,9\n"4827",2020-04-14,20.54,335,27,9\n"4828",2020-04-19,19.61,594,28,9\n"4829",2020-04-23,20.73,426,29,9\n"4830",2020-04-18,21.48,344,30,9\n"4831",2020-04-12,21.1,257,31,9\n"4832",2020-04-30,20.95,393,32,9\n"4833",2020-04-19,20.82,547,33,9\n"4834",2020-04-11,21.52,178,34,9\n"4835",2020-04-17,21.11,425,35,9\n"4836",2020-04-28,20.53,417,36,9\n"4837",2020-04-11,20.27,1014,37,9\n"4838",2020-04-29,19.45,362,38,9\n"4839",2020-04-23,19.75,213,39,9\n"4840",2020-04-19,19.53,145,40,9\n"4841",2020-04-10,19.9,407,41,9\n"4842",2020-04-25,20.36,548,42,9\n"4843",2020-04-27,20.73,557,43,9\n"4844",2020-04-16,20.36,469,44,9\n"4845",2020-04-07,20.57,385,45,9\n"4846",2020-04-13,21.03,338,46,9\n"4847",2020-04-24,20.22,244,47,9\n"4848",2020-04-06,20.84,347,48,9\n"4849",2020-04-20,21.13,194,49,9\n"4850",2020-04-17,20.19,366,50,9\n"4851",2020-04-17,19.83,660,51,9\n"4852",2020-04-29,20.77,299,52,9\n"4853",2020-04-16,20.33,224,53,9\n"4854",2020-04-19,21.27,384,54,9\n"4855",2020-04-28,19.87,664,55,9\n"4856",2020-04-20,20.84,349,56,9\n"4857",2020-04-28,20.54,354,57,9\n"4858",2020-04-02,21.09,555,58,9\n"4859",2020-04-13,20.08,220,59,9\n"4860",2020-04-01,21.07,392,60,9\n"4861",2020-04-10,20.42,266,61,9\n"4862",2020-04-16,19.74,405,62,9\n"4863",2020-04-03,20.87,578,63,9\n"4864",2020-04-25,20.49,578,64,9\n"4865",2020-04-16,22.05,373,65,9\n"4866",2020-04-22,20.74,700,66,9\n"4867",2020-04-17,20.88,333,67,9\n"4868",2020-04-17,19.72,915,68,9\n"4869",2020-04-25,22.12,574,69,9\n"4870",2020-04-02,20.48,332,70,9\n"4871",2020-04-10,19.5,701,71,9\n"4872",2020-04-03,19.84,613,72,9\n"4873",2020-04-15,20.71,578,73,9\n"4874",2020-04-05,20.28,409,74,9\n"4875",2020-04-01,21.47,491,75,9\n"4876",2020-04-12,19.94,998,76,9\n"4877",2020-04-26,20.37,395,77,9\n"4878",2020-04-21,19.8,645,78,9\n"4879",2020-04-08,19.96,281,79,9\n"4880",2020-04-13,20.05,273,80,9\n"4881",2020-04-27,19.5,677,81,9\n"4882",2020-04-23,20.21,184,82,9\n"4883",2020-04-21,20.78,314,83,9\n"4884",2020-04-03,21.65,156,84,9\n"4885",2020-04-03,20.32,459,85,9\n"4886",2020-04-28,19.86,493,86,9\n"4887",2020-04-27,20.37,391,87,9\n"4888",2020-04-23,20.12,308,88,9\n"4889",2020-04-02,20,773,89,9\n"4890",2020-04-03,21.03,1155,90,9\n"4891",2020-04-09,19.51,640,91,9\n"4892",2020-04-06,20.6,681,92,9\n"4893",2020-04-29,20.35,213,93,9\n"4894",2020-04-01,19.77,542,94,9\n"4895",2020-04-17,20.04,320,95,9\n"4896",2020-04-07,20.89,152,96,9\n"4897",2020-04-01,20.31,377,97,9\n"4898",2020-04-04,20.77,842,98,9\n"4899",2020-04-09,20.36,581,99,9\n"4900",2020-04-23,19.71,523,100,9\n"4901",2020-04-16,20.47,508,1,10\n"4902",2020-04-22,21.49,209,2,10\n"4903",2020-04-17,20.79,323,3,10\n"4904",2020-04-24,20.45,430,4,10\n"4905",2020-04-30,20.28,322,5,10\n"4906",2020-04-29,19.43,391,6,10\n"4907",2020-04-16,20.58,262,7,10\n"4908",2020-04-12,20.08,1068,8,10\n"4909",2020-04-12,20.35,1050,9,10\n"4910",2020-04-04,20.88,617,10,10\n"4911",2020-04-07,20.09,385,11,10\n"4912",2020-04-13,21.2,776,12,10\n"4913",2020-04-27,20.86,513,13,10\n"4914",2020-04-26,20.2,303,14,10\n"4915",2020-04-01,19.82,347,15,10\n"4916",2020-04-21,21.51,597,16,10\n"4917",2020-04-11,22.03,837,17,10\n"4918",2020-04-13,20.72,644,18,10\n"4919",2020-04-15,19.65,390,19,10\n"4920",2020-04-17,21,666,20,10\n"4921",2020-04-25,19.95,486,21,10\n"4922",2020-04-21,19.49,321,22,10\n"4923",2020-04-17,21.36,273,23,10\n"4924",2020-04-29,20.29,890,24,10\n"4925",2020-04-28,20.42,520,25,10\n"4926",2020-04-25,18.82,819,26,10\n"4927",2020-04-14,20.37,355,27,10\n"4928",2020-04-19,21.55,302,28,10\n"4929",2020-04-23,19.72,1159,29,10\n"4930",2020-04-18,20.18,274,30,10\n"4931",2020-04-12,19.79,501,31,10\n"4932",2020-04-30,19.85,483,32,10\n"4933",2020-04-19,20.95,311,33,10\n"4934",2020-04-11,20.11,321,34,10\n"4935",2020-04-17,20.53,440,35,10\n"4936",2020-04-28,20.3,410,36,10\n"4937",2020-04-11,19.7,515,37,10\n"4938",2020-04-29,19.19,365,38,10\n"4939",2020-04-23,19.34,584,39,10\n"4940",2020-04-19,20.18,259,40,10\n"4941",2020-04-10,21.19,834,41,10\n"4942",2020-04-25,20.05,829,42,10\n"4943",2020-04-27,21.76,612,43,10\n"4944",2020-04-16,19.74,358,44,10\n"4945",2020-04-07,19.85,111,45,10\n"4946",2020-04-13,21.05,259,46,10\n"4947",2020-04-24,19.6,387,47,10\n"4948",2020-04-06,21.28,599,48,10\n"4949",2020-04-20,21.01,779,49,10\n"4950",2020-04-17,20.57,891,50,10\n"4951",2020-04-17,20.07,869,51,10\n"4952",2020-04-29,20.31,1038,52,10\n"4953",2020-04-16,19.98,404,53,10\n"4954",2020-04-19,20.45,706,54,10\n"4955",2020-04-28,19.9,298,55,10\n"4956",2020-04-20,21.66,783,56,10\n"4957",2020-04-28,20.9,473,57,10\n"4958",2020-04-02,19.65,315,58,10\n"4959",2020-04-13,20.9,424,59,10\n"4960",2020-04-01,19.94,365,60,10\n"4961",2020-04-10,20.24,440,61,10\n"4962",2020-04-16,20.52,801,62,10\n"4963",2020-04-03,19.34,569,63,10\n"4964",2020-04-25,21.22,559,64,10\n"4965",2020-04-16,18.96,529,65,10\n"4966",2020-04-22,19.68,772,66,10\n"4967",2020-04-17,20.52,256,67,10\n"4968",2020-04-17,20.38,452,68,10\n"4969",2020-04-25,20.36,232,69,10\n"4970",2020-04-02,20.29,365,70,10\n"4971",2020-04-10,20.48,235,71,10\n"4972",2020-04-03,19.97,606,72,10\n"4973",2020-04-15,20.46,888,73,10\n"4974",2020-04-05,19.93,570,74,10\n"4975",2020-04-01,20.17,434,75,10\n"4976",2020-04-12,20.31,203,76,10\n"4977",2020-04-26,19.83,863,77,10\n"4978",2020-04-21,20.2,262,78,10\n"4979",2020-04-08,19.83,460,79,10\n"4980",2020-04-13,20.61,327,80,10\n"4981",2020-04-27,21.08,425,81,10\n"4982",2020-04-23,19.53,703,82,10\n"4983",2020-04-21,20.26,533,83,10\n"4984",2020-04-03,20.79,289,84,10\n"4985",2020-04-03,19.78,415,85,10\n"4986",2020-04-28,19.58,186,86,10\n"4987",2020-04-27,20.27,618,87,10\n"4988",2020-04-23,19.84,537,88,10\n"4989",2020-04-02,19.88,497,89,10\n"4990",2020-04-03,20.15,356,90,10\n"4991",2020-04-09,20.19,217,91,10\n"4992",2020-04-06,19.11,320,92,10\n"4993",2020-04-29,20.54,466,93,10\n"4994",2020-04-01,21.13,359,94,10\n"4995",2020-04-17,19.91,191,95,10\n"4996",2020-04-07,19.49,516,96,10\n"4997",2020-04-01,21.31,546,97,10\n"4998",2020-04-04,21.25,259,98,10\n"4999",2020-04-09,20.71,721,99,10\n"5000",2020-04-23,19.12,520,100,10\n"5001",2020-05-08,21.29,714,1,1\n"5002",2020-05-20,20.78,316,2,1\n"5003",2020-05-04,20,204,3,1\n"5004",2020-05-08,19.3,475,4,1\n"5005",2020-05-25,20.59,600,5,1\n"5006",2020-05-03,21.56,183,6,1\n"5007",2020-05-09,20.95,457,7,1\n"5008",2020-05-08,20.47,513,8,1\n"5009",2020-05-12,19.37,956,9,1\n"5010",2020-05-25,20.72,911,10,1\n"5011",2020-05-24,20.43,359,11,1\n"5012",2020-05-21,20.49,257,12,1\n"5013",2020-05-31,20.07,1205,13,1\n"5014",2020-05-03,21.07,447,14,1\n"5015",2020-05-20,20.78,335,15,1\n"5016",2020-05-10,21.18,868,16,1\n"5017",2020-05-05,20.92,365,17,1\n"5018",2020-05-30,20.58,364,18,1\n"5019",2020-05-30,20.47,302,19,1\n"5020",2020-05-12,20.02,523,20,1\n"5021",2020-05-01,20.38,650,21,1\n"5022",2020-05-06,20.83,539,22,1\n"5023",2020-05-31,19.95,570,23,1\n"5024",2020-05-18,21.45,347,24,1\n"5025",2020-05-17,20.33,412,25,1\n"5026",2020-05-15,19.92,958,26,1\n"5027",2020-05-21,20.28,494,27,1\n"5028",2020-05-17,20.71,292,28,1\n"5029",2020-05-09,19.92,594,29,1\n"5030",2020-05-18,20.06,873,30,1\n"5031",2020-05-08,19.89,265,31,1\n"5032",2020-05-18,21.15,1129,32,1\n"5033",2020-05-30,21.46,738,33,1\n"5034",2020-05-05,20.84,190,34,1\n"5035",2020-05-24,20.24,823,35,1\n"5036",2020-05-28,20.74,262,36,1\n"5037",2020-05-15,20.2,291,37,1\n"5038",2020-05-16,19.84,847,38,1\n"5039",2020-05-26,20.49,320,39,1\n"5040",2020-05-29,20.31,375,40,1\n"5041",2020-05-22,19.77,227,41,1\n"5042",2020-05-23,20.29,358,42,1\n"5043",2020-05-12,21.2,386,43,1\n"5044",2020-05-21,19.68,464,44,1\n"5045",2020-05-04,20.1,596,45,1\n"5046",2020-05-04,19.16,266,46,1\n"5047",2020-05-02,20.7,556,47,1\n"5048",2020-05-31,20.21,1091,48,1\n"5049",2020-05-04,19.58,453,49,1\n"5050",2020-05-15,20.77,832,50,1\n"5051",2020-05-13,19.4,571,51,1\n"5052",2020-05-27,20.17,536,52,1\n"5053",2020-05-12,21.35,808,53,1\n"5054",2020-05-11,20.37,399,54,1\n"5055",2020-05-06,20.3,289,55,1\n"5056",2020-05-26,20.64,466,56,1\n"5057",2020-05-02,20.57,431,57,1\n"5058",2020-05-21,21.82,586,58,1\n"5059",2020-05-22,20.7,228,59,1\n"5060",2020-05-18,20.18,717,60,1\n"5061",2020-05-15,21.36,380,61,1\n"5062",2020-05-21,19.9,497,62,1\n"5063",2020-05-21,20.57,514,63,1\n"5064",2020-05-23,19.38,185,64,1\n"5065",2020-05-20,20.51,278,65,1\n"5066",2020-05-12,21.02,596,66,1\n"5067",2020-05-09,20.68,482,67,1\n"5068",2020-05-22,20.16,266,68,1\n"5069",2020-05-27,20.83,679,69,1\n"5070",2020-05-13,19.34,383,70,1\n"5071",2020-05-23,19.79,367,71,1\n"5072",2020-05-24,20.52,677,72,1\n"5073",2020-05-17,20.38,258,73,1\n"5074",2020-05-23,20.07,402,74,1\n"5075",2020-05-22,19.75,481,75,1\n"5076",2020-05-06,21,368,76,1\n"5077",2020-05-27,20.64,230,77,1\n"5078",2020-05-05,20.98,369,78,1\n"5079",2020-05-12,19.82,495,79,1\n"5080",2020-05-21,19.57,324,80,1\n"5081",2020-05-17,20.64,493,81,1\n"5082",2020-05-12,19.55,701,82,1\n"5083",2020-05-17,20.43,1149,83,1\n"5084",2020-05-27,20.97,353,84,1\n"5085",2020-05-29,19.81,420,85,1\n"5086",2020-05-22,20.15,446,86,1\n"5087",2020-05-07,19.97,424,87,1\n"5088",2020-05-17,20.43,197,88,1\n"5089",2020-05-02,20.02,732,89,1\n"5090",2020-05-20,20.59,229,90,1\n"5091",2020-05-07,21.31,786,91,1\n"5092",2020-05-31,21.9,469,92,1\n"5093",2020-05-29,21.08,765,93,1\n"5094",2020-05-26,20.47,685,94,1\n"5095",2020-05-25,19.89,410,95,1\n"5096",2020-05-19,20.9,323,96,1\n"5097",2020-05-06,21.48,542,97,1\n"5098",2020-05-14,20.29,1037,98,1\n"5099",2020-05-04,19.65,333,99,1\n"5100",2020-05-22,20.15,212,100,1\n"5101",2020-05-08,19.36,639,1,2\n"5102",2020-05-20,19.46,716,2,2\n"5103",2020-05-04,20.14,585,3,2\n"5104",2020-05-08,21.07,823,4,2\n"5105",2020-05-25,20.31,466,5,2\n"5106",2020-05-03,20.14,618,6,2\n"5107",2020-05-09,20.61,486,7,2\n"5108",2020-05-08,20.03,496,8,2\n"5109",2020-05-12,20.71,214,9,2\n"5110",2020-05-25,19.24,1294,10,2\n"5111",2020-05-24,21.14,560,11,2\n"5112",2020-05-21,19.22,1421,12,2\n"5113",2020-05-31,20.16,451,13,2\n"5114",2020-05-03,19.79,727,14,2\n"5115",2020-05-20,20.56,392,15,2\n"5116",2020-05-10,20.27,664,16,2\n"5117",2020-05-05,21.96,432,17,2\n"5118",2020-05-30,20.39,191,18,2\n"5119",2020-05-30,19.39,526,19,2\n"5120",2020-05-12,21.22,417,20,2\n"5121",2020-05-01,21.42,554,21,2\n"5122",2020-05-06,20.08,313,22,2\n"5123",2020-05-31,20.61,1131,23,2\n"5124",2020-05-18,19.93,302,24,2\n"5125",2020-05-17,21.17,375,25,2\n"5126",2020-05-15,20.78,1275,26,2\n"5127",2020-05-21,19.83,403,27,2\n"5128",2020-05-17,19.92,398,28,2\n"5129",2020-05-09,19.63,1073,29,2\n"5130",2020-05-18,20.28,297,30,2\n"5131",2020-05-08,20.53,797,31,2\n"5132",2020-05-18,20.42,808,32,2\n"5133",2020-05-30,20.12,235,33,2\n"5134",2020-05-05,20.42,783,34,2\n"5135",2020-05-24,21.38,246,35,2\n"5136",2020-05-28,20.83,351,36,2\n"5137",2020-05-15,21.09,538,37,2\n"5138",2020-05-16,19.81,697,38,2\n"5139",2020-05-26,20.88,398,39,2\n"5140",2020-05-29,20.72,1038,40,2\n"5141",2020-05-22,19.5,441,41,2\n"5142",2020-05-23,20.72,377,42,2\n"5143",2020-05-12,20.2,315,43,2\n"5144",2020-05-21,21.87,523,44,2\n"5145",2020-05-04,20.15,351,45,2\n"5146",2020-05-04,20.24,525,46,2\n"5147",2020-05-02,19.67,377,47,2\n"5148",2020-05-31,19.79,203,48,2\n"5149",2020-05-04,20.63,579,49,2\n"5150",2020-05-15,21.07,410,50,2\n"5151",2020-05-13,20.21,555,51,2\n"5152",2020-05-27,20.3,501,52,2\n"5153",2020-05-12,19.59,463,53,2\n"5154",2020-05-11,20.38,319,54,2\n"5155",2020-05-06,20.19,291,55,2\n"5156",2020-05-26,20.66,854,56,2\n"5157",2020-05-02,19.39,338,57,2\n"5158",2020-05-21,21,282,58,2\n"5159",2020-05-22,20.67,525,59,2\n"5160",2020-05-18,22.12,671,60,2\n"5161",2020-05-15,20.12,384,61,2\n"5162",2020-05-21,20.12,136,62,2\n"5163",2020-05-21,19.94,295,63,2\n"5164",2020-05-23,20.88,365,64,2\n"5165",2020-05-20,20.84,481,65,2\n"5166",2020-05-12,19.77,313,66,2\n"5167",2020-05-09,21.78,323,67,2\n"5168",2020-05-22,20.16,284,68,2\n"5169",2020-05-27,20.26,581,69,2\n"5170",2020-05-13,20.94,359,70,2\n"5171",2020-05-23,19.44,320,71,2\n"5172",2020-05-24,20.7,669,72,2\n"5173",2020-05-17,20.41,228,73,2\n"5174",2020-05-23,22.04,513,74,2\n"5175",2020-05-22,20.96,966,75,2\n"5176",2020-05-06,20.07,910,76,2\n"5177",2020-05-27,20.64,755,77,2\n"5178",2020-05-05,18.55,395,78,2\n"5179",2020-05-12,21.35,769,79,2\n"5180",2020-05-21,20.94,317,80,2\n"5181",2020-05-17,20.12,588,81,2\n"5182",2020-05-12,20.76,309,82,2\n"5183",2020-05-17,20.73,403,83,2\n"5184",2020-05-27,20.46,234,84,2\n"5185",2020-05-29,20.61,448,85,2\n"5186",2020-05-22,20.64,713,86,2\n"5187",2020-05-07,20.69,494,87,2\n"5188",2020-05-17,20.51,492,88,2\n"5189",2020-05-02,20.98,1328,89,2\n"5190",2020-05-20,18.92,799,90,2\n"5191",2020-05-07,20.31,339,91,2\n"5192",2020-05-31,20.11,396,92,2\n"5193",2020-05-29,20.87,315,93,2\n"5194",2020-05-26,20.19,299,94,2\n"5195",2020-05-25,21.93,865,95,2\n"5196",2020-05-19,21.7,453,96,2\n"5197",2020-05-06,20.98,359,97,2\n"5198",2020-05-14,20.73,548,98,2\n"5199",2020-05-04,20.4,492,99,2\n"5200",2020-05-22,20.11,352,100,2\n"5201",2020-05-08,20.8,529,1,3\n"5202",2020-05-20,20.59,633,2,3\n"5203",2020-05-04,19.84,748,3,3\n"5204",2020-05-08,19.78,397,4,3\n"5205",2020-05-25,19.79,754,5,3\n"5206",2020-05-03,20.61,1050,6,3\n"5207",2020-05-09,21.07,414,7,3\n"5208",2020-05-08,20.45,1090,8,3\n"5209",2020-05-12,19.23,254,9,3\n"5210",2020-05-25,19.54,361,10,3\n"5211",2020-05-24,20.67,420,11,3\n"5212",2020-05-21,20.41,396,12,3\n"5213",2020-05-31,20.43,719,13,3\n"5214",2020-05-03,19.13,489,14,3\n"5215",2020-05-20,20.86,880,15,3\n"5216",2020-05-10,20.49,397,16,3\n"5217",2020-05-05,19.76,553,17,3\n"5218",2020-05-30,18.47,1461,18,3\n"5219",2020-05-30,20.12,1298,19,3\n"5220",2020-05-12,21.48,384,20,3\n"5221",2020-05-01,20.85,432,21,3\n"5222",2020-05-06,20.28,456,22,3\n"5223",2020-05-31,19.72,237,23,3\n"5224",2020-05-18,20.81,428,24,3\n"5225",2020-05-17,21.43,277,25,3\n"5226",2020-05-15,19.65,574,26,3\n"5227",2020-05-21,21.71,306,27,3\n"5228",2020-05-17,21,485,28,3\n"5229",2020-05-09,19.82,805,29,3\n"5230",2020-05-18,21.67,697,30,3\n"5231",2020-05-08,20.49,537,31,3\n"5232",2020-05-18,21.15,1029,32,3\n"5233",2020-05-30,20.09,440,33,3\n"5234",2020-05-05,20.11,571,34,3\n"5235",2020-05-24,20.54,115,35,3\n"5236",2020-05-28,20.86,440,36,3\n"5237",2020-05-15,20.39,170,37,3\n"5238",2020-05-16,20.02,443,38,3\n"5239",2020-05-26,21.44,372,39,3\n"5240",2020-05-29,20.47,360,40,3\n"5241",2020-05-22,19.92,609,41,3\n"5242",2020-05-23,19.96,582,42,3\n"5243",2020-05-12,21.29,525,43,3\n"5244",2020-05-21,21.2,786,44,3\n"5245",2020-05-04,19.64,551,45,3\n"5246",2020-05-04,20.25,295,46,3\n"5247",2020-05-02,21.16,431,47,3\n"5248",2020-05-31,20.87,665,48,3\n"5249",2020-05-04,20.12,318,49,3\n"5250",2020-05-15,20.03,158,50,3\n"5251",2020-05-13,20.59,413,51,3\n"5252",2020-05-27,21.72,1087,52,3\n"5253",2020-05-12,19.31,828,53,3\n"5254",2020-05-11,20.64,518,54,3\n"5255",2020-05-06,20.86,277,55,3\n"5256",2020-05-26,21.68,390,56,3\n"5257",2020-05-02,20.33,399,57,3\n"5258",2020-05-21,20.61,510,58,3\n"5259",2020-05-22,19.38,330,59,3\n"5260",2020-05-18,20.37,650,60,3\n"5261",2020-05-15,20.39,508,61,3\n"5262",2020-05-21,19.81,211,62,3\n"5263",2020-05-21,20.97,497,63,3\n"5264",2020-05-23,20.25,561,64,3\n"5265",2020-05-20,20.33,899,65,3\n"5266",2020-05-12,19.72,510,66,3\n"5267",2020-05-09,20.68,788,67,3\n"5268",2020-05-22,21.55,293,68,3\n"5269",2020-05-27,19.64,466,69,3\n"5270",2020-05-13,20.8,267,70,3\n"5271",2020-05-23,19.7,341,71,3\n"5272",2020-05-24,21.14,748,72,3\n"5273",2020-05-17,19.89,675,73,3\n"5274",2020-05-23,20.43,288,74,3\n"5275",2020-05-22,20.57,297,75,3\n"5276",2020-05-06,20.11,396,76,3\n"5277",2020-05-27,20.07,319,77,3\n"5278",2020-05-05,19.87,328,78,3\n"5279",2020-05-12,20.34,617,79,3\n"5280",2020-05-21,19.27,471,80,3\n"5281",2020-05-17,20.95,436,81,3\n"5282",2020-05-12,20.76,385,82,3\n"5283",2020-05-17,20.36,1326,83,3\n"5284",2020-05-27,19.54,354,84,3\n"5285",2020-05-29,19.62,250,85,3\n"5286",2020-05-22,19.9,455,86,3\n"5287",2020-05-07,21.17,527,87,3\n"5288",2020-05-17,20.26,865,88,3\n"5289",2020-05-02,19.16,203,89,3\n"5290",2020-05-20,19.74,827,90,3\n"5291",2020-05-07,21.03,977,91,3\n"5292",2020-05-31,20.38,235,92,3\n"5293",2020-05-29,19.66,649,93,3\n"5294",2020-05-26,20.7,447,94,3\n"5295",2020-05-25,20.24,723,95,3\n"5296",2020-05-19,19.83,250,96,3\n"5297",2020-05-06,20.26,941,97,3\n"5298",2020-05-14,20.59,187,98,3\n"5299",2020-05-04,21.06,526,99,3\n"5300",2020-05-22,19.51,233,100,3\n"5301",2020-05-08,20.42,311,1,4\n"5302",2020-05-20,20.77,339,2,4\n"5303",2020-05-04,20.52,357,3,4\n"5304",2020-05-08,19.55,358,4,4\n"5305",2020-05-25,20.41,293,5,4\n"5306",2020-05-03,19.85,347,6,4\n"5307",2020-05-09,19.15,623,7,4\n"5308",2020-05-08,19.63,488,8,4\n"5309",2020-05-12,20.84,763,9,4\n"5310",2020-05-25,20.51,424,10,4\n"5311",2020-05-24,20.69,267,11,4\n"5312",2020-05-21,20.39,900,12,4\n"5313",2020-05-31,20.07,476,13,4\n"5314",2020-05-03,20.51,247,14,4\n"5315",2020-05-20,20.41,537,15,4\n"5316",2020-05-10,20.56,216,16,4\n"5317",2020-05-05,19.65,288,17,4\n"5318",2020-05-30,21.37,559,18,4\n"5319",2020-05-30,21.09,281,19,4\n"5320",2020-05-12,20.94,323,20,4\n"5321",2020-05-01,20.98,237,21,4\n"5322",2020-05-06,20.35,288,22,4\n"5323",2020-05-31,19.44,279,23,4\n"5324",2020-05-18,20.54,299,24,4\n"5325",2020-05-17,19.87,356,25,4\n"5326",2020-05-15,21.24,700,26,4\n"5327",2020-05-21,20.8,393,27,4\n"5328",2020-05-17,20.63,526,28,4\n"5329",2020-05-09,19.65,355,29,4\n"5330",2020-05-18,20.54,285,30,4\n"5331",2020-05-08,19.9,280,31,4\n"5332",2020-05-18,20.46,225,32,4\n"5333",2020-05-30,20.27,682,33,4\n"5334",2020-05-05,20.07,230,34,4\n"5335",2020-05-24,19.83,259,35,4\n"5336",2020-05-28,19.93,1022,36,4\n"5337",2020-05-15,19.72,251,37,4\n"5338",2020-05-16,19.17,376,38,4\n"5339",2020-05-26,19.87,177,39,4\n"5340",2020-05-29,20.13,317,40,4\n"5341",2020-05-22,19.5,394,41,4\n"5342",2020-05-23,20.43,991,42,4\n"5343",2020-05-12,19.79,298,43,4\n"5344",2020-05-21,20.66,648,44,4\n"5345",2020-05-04,21.6,365,45,4\n"5346",2020-05-04,19.94,415,46,4\n"5347",2020-05-02,19.15,774,47,4\n"5348",2020-05-31,22.36,394,48,4\n"5349",2020-05-04,20.74,281,49,4\n"5350",2020-05-15,19.52,316,50,4\n"5351",2020-05-13,19.55,524,51,4\n"5352",2020-05-27,20.44,476,52,4\n"5353",2020-05-12,19.87,454,53,4\n"5354",2020-05-11,20.34,316,54,4\n"5355",2020-05-06,20.03,758,55,4\n"5356",2020-05-26,19.85,326,56,4\n"5357",2020-05-02,21.53,464,57,4\n"5358",2020-05-21,20.52,517,58,4\n"5359",2020-05-22,20.54,152,59,4\n"5360",2020-05-18,20.73,178,60,4\n"5361",2020-05-15,20.23,604,61,4\n"5362",2020-05-21,20.23,622,62,4\n"5363",2020-05-21,19.64,400,63,4\n"5364",2020-05-23,20.27,599,64,4\n"5365",2020-05-20,20.29,295,65,4\n"5366",2020-05-12,20.49,997,66,4\n"5367",2020-05-09,19.74,177,67,4\n"5368",2020-05-22,20.04,405,68,4\n"5369",2020-05-27,19.42,352,69,4\n"5370",2020-05-13,19.42,1003,70,4\n"5371",2020-05-23,20.41,392,71,4\n"5372",2020-05-24,20.57,415,72,4\n"5373",2020-05-17,20.67,415,73,4\n"5374",2020-05-23,20.07,898,74,4\n"5375",2020-05-22,21.28,328,75,4\n"5376",2020-05-06,21.24,434,76,4\n"5377",2020-05-27,20.51,408,77,4\n"5378",2020-05-05,19.9,532,78,4\n"5379",2020-05-12,20.43,301,79,4\n"5380",2020-05-21,19.46,391,80,4\n"5381",2020-05-17,20.47,283,81,4\n"5382",2020-05-12,20.47,1355,82,4\n"5383",2020-05-17,20.52,227,83,4\n"5384",2020-05-27,21.3,503,84,4\n"5385",2020-05-29,20.54,336,85,4\n"5386",2020-05-22,18.58,571,86,4\n"5387",2020-05-07,20.62,296,87,4\n"5388",2020-05-17,20.56,510,88,4\n"5389",2020-05-02,20.04,174,89,4\n"5390",2020-05-20,21.25,320,90,4\n"5391",2020-05-07,19.79,657,91,4\n"5392",2020-05-31,20.17,417,92,4\n"5393",2020-05-29,20.19,552,93,4\n"5394",2020-05-26,20.57,371,94,4\n"5395",2020-05-25,19.58,582,95,4\n"5396",2020-05-19,19.05,1002,96,4\n"5397",2020-05-06,20.78,615,97,4\n"5398",2020-05-14,20.84,1651,98,4\n"5399",2020-05-04,19.81,290,99,4\n"5400",2020-05-22,20.37,494,100,4\n"5401",2020-05-08,22.23,259,1,5\n"5402",2020-05-20,19.96,1116,2,5\n"5403",2020-05-04,20.83,387,3,5\n"5404",2020-05-08,20.22,399,4,5\n"5405",2020-05-25,20.24,582,5,5\n"5406",2020-05-03,20.71,553,6,5\n"5407",2020-05-09,21.14,603,7,5\n"5408",2020-05-08,21.23,423,8,5\n"5409",2020-05-12,19.89,257,9,5\n"5410",2020-05-25,20.6,1167,10,5\n"5411",2020-05-24,21.34,618,11,5\n"5412",2020-05-21,21.71,358,12,5\n"5413",2020-05-31,20.27,761,13,5\n"5414",2020-05-03,20.84,462,14,5\n"5415",2020-05-20,20.74,343,15,5\n"5416",2020-05-10,20.63,441,16,5\n"5417",2020-05-05,19.78,296,17,5\n"5418",2020-05-30,19.58,247,18,5\n"5419",2020-05-30,20.07,384,19,5\n"5420",2020-05-12,19.87,689,20,5\n"5421",2020-05-01,20.23,375,21,5\n"5422",2020-05-06,19.78,918,22,5\n"5423",2020-05-31,20.87,248,23,5\n"5424",2020-05-18,20.17,380,24,5\n"5425",2020-05-17,20.34,829,25,5\n"5426",2020-05-15,20.73,237,26,5\n"5427",2020-05-21,20.24,331,27,5\n"5428",2020-05-17,20.93,569,28,5\n"5429",2020-05-09,20.52,789,29,5\n"5430",2020-05-18,20.28,342,30,5\n"5431",2020-05-08,21.51,305,31,5\n"5432",2020-05-18,20.06,557,32,5\n"5433",2020-05-30,20.45,262,33,5\n"5434",2020-05-05,19.22,452,34,5\n"5435",2020-05-24,20.44,169,35,5\n"5436",2020-05-28,20.57,561,36,5\n"5437",2020-05-15,20.26,508,37,5\n"5438",2020-05-16,20.65,496,38,5\n"5439",2020-05-26,21.82,300,39,5\n"5440",2020-05-29,19.4,804,40,5\n"5441",2020-05-22,21.1,732,41,5\n"5442",2020-05-23,19.56,305,42,5\n"5443",2020-05-12,20.08,422,43,5\n"5444",2020-05-21,20.55,697,44,5\n"5445",2020-05-04,21.47,572,45,5\n"5446",2020-05-04,21.18,765,46,5\n"5447",2020-05-02,20.66,523,47,5\n"5448",2020-05-31,20.41,723,48,5\n"5449",2020-05-04,21.16,1075,49,5\n"5450",2020-05-15,20.36,725,50,5\n"5451",2020-05-13,20.84,395,51,5\n"5452",2020-05-27,19.73,369,52,5\n"5453",2020-05-12,21.42,577,53,5\n"5454",2020-05-11,19.95,528,54,5\n"5455",2020-05-06,19.73,885,55,5\n"5456",2020-05-26,19.84,983,56,5\n"5457",2020-05-02,21.13,249,57,5\n"5458",2020-05-21,19.74,532,58,5\n"5459",2020-05-22,20.13,895,59,5\n"5460",2020-05-18,20.18,1014,60,5\n"5461",2020-05-15,20.85,570,61,5\n"5462",2020-05-21,19.46,333,62,5\n"5463",2020-05-21,21.27,373,63,5\n"5464",2020-05-23,21.22,483,64,5\n"5465",2020-05-20,20.14,286,65,5\n"5466",2020-05-12,21.41,577,66,5\n"5467",2020-05-09,20.03,692,67,5\n"5468",2020-05-22,18.85,298,68,5\n"5469",2020-05-27,19.7,640,69,5\n"5470",2020-05-13,20.82,419,70,5\n"5471",2020-05-23,20.42,907,71,5\n"5472",2020-05-24,21.79,583,72,5\n"5473",2020-05-17,20.34,467,73,5\n"5474",2020-05-23,21.44,482,74,5\n"5475",2020-05-22,20.45,306,75,5\n"5476",2020-05-06,21.01,420,76,5\n"5477",2020-05-27,20.98,602,77,5\n"5478",2020-05-05,20.4,543,78,5\n"5479",2020-05-12,21.47,431,79,5\n"5480",2020-05-21,21.07,602,80,5\n"5481",2020-05-17,20.55,180,81,5\n"5482",2020-05-12,20.74,448,82,5\n"5483",2020-05-17,20.86,419,83,5\n"5484",2020-05-27,20.87,728,84,5\n"5485",2020-05-29,19.34,824,85,5\n"5486",2020-05-22,20.23,670,86,5\n"5487",2020-05-07,20.93,543,87,5\n"5488",2020-05-17,20.16,679,88,5\n"5489",2020-05-02,21.25,684,89,5\n"5490",2020-05-20,20.45,443,90,5\n"5491",2020-05-07,21.38,707,91,5\n"5492",2020-05-31,20.39,265,92,5\n"5493",2020-05-29,20.73,604,93,5\n"5494",2020-05-26,20.36,188,94,5\n"5495",2020-05-25,20.74,324,95,5\n"5496",2020-05-19,20.86,627,96,5\n"5497",2020-05-06,19.47,486,97,5\n"5498",2020-05-14,19.8,270,98,5\n"5499",2020-05-04,19.56,226,99,5\n"5500",2020-05-22,21.37,1038,100,5\n"5501",2020-05-08,19.74,571,1,6\n"5502",2020-05-20,20.39,541,2,6\n"5503",2020-05-04,20.49,1512,3,6\n"5504",2020-05-08,21.09,619,4,6\n"5505",2020-05-25,20.36,760,5,6\n"5506",2020-05-03,20.71,569,6,6\n"5507",2020-05-09,20.74,252,7,6\n"5508",2020-05-08,22.13,485,8,6\n"5509",2020-05-12,20.01,436,9,6\n"5510",2020-05-25,20.03,584,10,6\n"5511",2020-05-24,20.82,594,11,6\n"5512",2020-05-21,21.13,510,12,6\n"5513",2020-05-31,20.75,417,13,6\n"5514",2020-05-03,20.06,242,14,6\n"5515",2020-05-20,21.41,650,15,6\n"5516",2020-05-10,19.56,348,16,6\n"5517",2020-05-05,21.03,963,17,6\n"5518",2020-05-30,21.54,592,18,6\n"5519",2020-05-30,19.79,500,19,6\n"5520",2020-05-12,19.46,253,20,6\n"5521",2020-05-01,20.17,401,21,6\n"5522",2020-05-06,20.11,622,22,6\n"5523",2020-05-31,20.09,659,23,6\n"5524",2020-05-18,20.47,222,24,6\n"5525",2020-05-17,19.18,232,25,6\n"5526",2020-05-15,21.45,137,26,6\n"5527",2020-05-21,20.2,256,27,6\n"5528",2020-05-17,20.17,476,28,6\n"5529",2020-05-09,19.27,332,29,6\n"5530",2020-05-18,19.84,440,30,6\n"5531",2020-05-08,20.33,252,31,6\n"5532",2020-05-18,20.58,544,32,6\n"5533",2020-05-30,20.83,1137,33,6\n"5534",2020-05-05,19.75,444,34,6\n"5535",2020-05-24,19.15,1225,35,6\n"5536",2020-05-28,20.38,958,36,6\n"5537",2020-05-15,20.29,278,37,6\n"5538",2020-05-16,19.83,419,38,6\n"5539",2020-05-26,21.17,487,39,6\n"5540",2020-05-29,22.32,408,40,6\n"5541",2020-05-22,19.8,102,41,6\n"5542",2020-05-23,20.53,261,42,6\n"5543",2020-05-12,20.61,327,43,6\n"5544",2020-05-21,19.48,558,44,6\n"5545",2020-05-04,20.57,308,45,6\n"5546",2020-05-04,20.94,231,46,6\n"5547",2020-05-02,20.43,980,47,6\n"5548",2020-05-31,19.74,306,48,6\n"5549",2020-05-04,20.91,823,49,6\n"5550",2020-05-15,20.05,608,50,6\n"5551",2020-05-13,19.86,535,51,6\n"5552",2020-05-27,19.28,261,52,6\n"5553",2020-05-12,20.21,685,53,6\n"5554",2020-05-11,20.62,540,54,6\n"5555",2020-05-06,20.02,246,55,6\n"5556",2020-05-26,20.35,323,56,6\n"5557",2020-05-02,20.53,634,57,6\n"5558",2020-05-21,19.75,483,58,6\n"5559",2020-05-22,20.83,709,59,6\n"5560",2020-05-18,19.16,330,60,6\n"5561",2020-05-15,19.87,605,61,6\n"5562",2020-05-21,19.95,817,62,6\n"5563",2020-05-21,20.59,1214,63,6\n"5564",2020-05-23,20.41,538,64,6\n"5565",2020-05-20,19.74,995,65,6\n"5566",2020-05-12,21.6,288,66,6\n"5567",2020-05-09,21.09,333,67,6\n"5568",2020-05-22,19.77,517,68,6\n"5569",2020-05-27,19.65,542,69,6\n"5570",2020-05-13,19.83,775,70,6\n"5571",2020-05-23,20.31,832,71,6\n"5572",2020-05-24,21.45,1496,72,6\n"5573",2020-05-17,21.18,279,73,6\n"5574",2020-05-23,20.89,256,74,6\n"5575",2020-05-22,19.42,283,75,6\n"5576",2020-05-06,19.06,676,76,6\n"5577",2020-05-27,20.46,508,77,6\n"5578",2020-05-05,20.54,133,78,6\n"5579",2020-05-12,19.86,461,79,6\n"5580",2020-05-21,20.15,262,80,6\n"5581",2020-05-17,20.37,699,81,6\n"5582",2020-05-12,20.89,532,82,6\n"5583",2020-05-17,20.46,505,83,6\n"5584",2020-05-27,20.18,1194,84,6\n"5585",2020-05-29,20.77,179,85,6\n"5586",2020-05-22,19.99,422,86,6\n"5587",2020-05-07,20.5,258,87,6\n"5588",2020-05-17,20.32,678,88,6\n"5589",2020-05-02,21.14,415,89,6\n"5590",2020-05-20,19.91,817,90,6\n"5591",2020-05-07,20.78,566,91,6\n"5592",2020-05-31,19.9,280,92,6\n"5593",2020-05-29,21.46,613,93,6\n"5594",2020-05-26,21.23,429,94,6\n"5595",2020-05-25,21.92,213,95,6\n"5596",2020-05-19,20.53,232,96,6\n"5597",2020-05-06,20.32,433,97,6\n"5598",2020-05-14,21.65,200,98,6\n"5599",2020-05-04,19.92,625,99,6\n"5600",2020-05-22,20.46,288,100,6\n"5601",2020-05-08,20.88,601,1,7\n"5602",2020-05-20,21.17,459,2,7\n"5603",2020-05-04,19.75,486,3,7\n"5604",2020-05-08,19.97,1256,4,7\n"5605",2020-05-25,20.47,370,5,7\n"5606",2020-05-03,20.53,299,6,7\n"5607",2020-05-09,21.5,668,7,7\n"5608",2020-05-08,19.49,233,8,7\n"5609",2020-05-12,19.39,903,9,7\n"5610",2020-05-25,21.08,891,10,7\n"5611",2020-05-24,20.77,335,11,7\n"5612",2020-05-21,20.5,393,12,7\n"5613",2020-05-31,19.92,303,13,7\n"5614",2020-05-03,21.21,213,14,7\n"5615",2020-05-20,20.38,416,15,7\n"5616",2020-05-10,20.38,528,16,7\n"5617",2020-05-05,20.71,644,17,7\n"5618",2020-05-30,20.66,1395,18,7\n"5619",2020-05-30,20.65,495,19,7\n"5620",2020-05-12,21.44,239,20,7\n"5621",2020-05-01,21.85,461,21,7\n"5622",2020-05-06,20.86,567,22,7\n"5623",2020-05-31,20.11,261,23,7\n"5624",2020-05-18,20.46,353,24,7\n"5625",2020-05-17,20.1,237,25,7\n"5626",2020-05-15,21.01,371,26,7\n"5627",2020-05-21,21.62,301,27,7\n"5628",2020-05-17,20.72,552,28,7\n"5629",2020-05-09,20.84,251,29,7\n"5630",2020-05-18,20.06,451,30,7\n"5631",2020-05-08,19.69,618,31,7\n"5632",2020-05-18,20.38,244,32,7\n"5633",2020-05-30,19.32,509,33,7\n"5634",2020-05-05,21.7,525,34,7\n"5635",2020-05-24,20.66,547,35,7\n"5636",2020-05-28,20.08,215,36,7\n"5637",2020-05-15,20.24,673,37,7\n"5638",2020-05-16,20.97,468,38,7\n"5639",2020-05-26,20.48,753,39,7\n"5640",2020-05-29,20.41,745,40,7\n"5641",2020-05-22,20.8,342,41,7\n"5642",2020-05-23,20.13,549,42,7\n"5643",2020-05-12,20.22,730,43,7\n"5644",2020-05-21,20.87,553,44,7\n"5645",2020-05-04,21.11,1159,45,7\n"5646",2020-05-04,19.19,384,46,7\n"5647",2020-05-02,21.13,334,47,7\n"5648",2020-05-31,21.02,655,48,7\n"5649",2020-05-04,19.62,674,49,7\n"5650",2020-05-15,20.56,198,50,7\n"5651",2020-05-13,20.57,222,51,7\n"5652",2020-05-27,19.53,906,52,7\n"5653",2020-05-12,21.08,1300,53,7\n"5654",2020-05-11,21.48,764,54,7\n"5655",2020-05-06,21.19,414,55,7\n"5656",2020-05-26,20.88,484,56,7\n"5657",2020-05-02,21.76,1181,57,7\n"5658",2020-05-21,20.5,758,58,7\n"5659",2020-05-22,19.98,998,59,7\n"5660",2020-05-18,20.46,411,60,7\n"5661",2020-05-15,20.41,805,61,7\n"5662",2020-05-21,21.15,959,62,7\n"5663",2020-05-21,19.61,373,63,7\n"5664",2020-05-23,19.4,490,64,7\n"5665",2020-05-20,21.24,406,65,7\n"5666",2020-05-12,20.56,208,66,7\n"5667",2020-05-09,20.14,423,67,7\n"5668",2020-05-22,19.91,298,68,7\n"5669",2020-05-27,19.58,390,69,7\n"5670",2020-05-13,21.9,307,70,7\n"5671",2020-05-23,21.02,745,71,7\n"5672",2020-05-24,19.93,587,72,7\n"5673",2020-05-17,19.46,371,73,7\n"5674",2020-05-23,20.01,1061,74,7\n"5675",2020-05-22,21.06,749,75,7\n"5676",2020-05-06,21,533,76,7\n"5677",2020-05-27,20.54,366,77,7\n"5678",2020-05-05,20.91,173,78,7\n"5679",2020-05-12,20.12,459,79,7\n"5680",2020-05-21,20.85,488,80,7\n"5681",2020-05-17,20,564,81,7\n"5682",2020-05-12,20.61,256,82,7\n"5683",2020-05-17,19.84,269,83,7\n"5684",2020-05-27,21.04,539,84,7\n"5685",2020-05-29,20.89,179,85,7\n"5686",2020-05-22,20.62,892,86,7\n"5687",2020-05-07,20.6,394,87,7\n"5688",2020-05-17,20.33,416,88,7\n"5689",2020-05-02,19.12,155,89,7\n"5690",2020-05-20,20.89,502,90,7\n"5691",2020-05-07,20.12,313,91,7\n"5692",2020-05-31,20.8,805,92,7\n"5693",2020-05-29,20.96,493,93,7\n"5694",2020-05-26,20.79,242,94,7\n"5695",2020-05-25,20.44,567,95,7\n"5696",2020-05-19,20.07,282,96,7\n"5697",2020-05-06,20.47,556,97,7\n"5698",2020-05-14,19.48,266,98,7\n"5699",2020-05-04,19.82,298,99,7\n"5700",2020-05-22,19.71,442,100,7\n"5701",2020-05-08,21.13,1115,1,8\n"5702",2020-05-20,21.38,291,2,8\n"5703",2020-05-04,19.98,780,3,8\n"5704",2020-05-08,20.08,1199,4,8\n"5705",2020-05-25,21.86,349,5,8\n"5706",2020-05-03,20.57,408,6,8\n"5707",2020-05-09,19.95,646,7,8\n"5708",2020-05-08,20.65,256,8,8\n"5709",2020-05-12,20.71,616,9,8\n"5710",2020-05-25,20.41,334,10,8\n"5711",2020-05-24,20.8,508,11,8\n"5712",2020-05-21,20.8,999,12,8\n"5713",2020-05-31,19.42,336,13,8\n"5714",2020-05-03,20.04,422,14,8\n"5715",2020-05-20,20.2,527,15,8\n"5716",2020-05-10,19.8,948,16,8\n"5717",2020-05-05,20.85,171,17,8\n"5718",2020-05-30,19.89,424,18,8\n"5719",2020-05-30,20.81,472,19,8\n"5720",2020-05-12,20.46,444,20,8\n"5721",2020-05-01,20.97,666,21,8\n"5722",2020-05-06,20.26,346,22,8\n"5723",2020-05-31,19.81,456,23,8\n"5724",2020-05-18,20.79,284,24,8\n"5725",2020-05-17,19.89,551,25,8\n"5726",2020-05-15,20.88,382,26,8\n"5727",2020-05-21,20.93,895,27,8\n"5728",2020-05-17,19.57,169,28,8\n"5729",2020-05-09,20.66,666,29,8\n"5730",2020-05-18,20.79,361,30,8\n"5731",2020-05-08,20.91,599,31,8\n"5732",2020-05-18,19.53,389,32,8\n"5733",2020-05-30,19.85,429,33,8\n"5734",2020-05-05,19.62,381,34,8\n"5735",2020-05-24,20.73,854,35,8\n"5736",2020-05-28,20.77,258,36,8\n"5737",2020-05-15,19.86,130,37,8\n"5738",2020-05-16,20.29,320,38,8\n"5739",2020-05-26,20.5,398,39,8\n"5740",2020-05-29,20.53,405,40,8\n"5741",2020-05-22,20.93,833,41,8\n"5742",2020-05-23,20.63,491,42,8\n"5743",2020-05-12,20.74,787,43,8\n"5744",2020-05-21,20.49,675,44,8\n"5745",2020-05-04,20.52,624,45,8\n"5746",2020-05-04,20.75,594,46,8\n"5747",2020-05-02,20,496,47,8\n"5748",2020-05-31,20.32,361,48,8\n"5749",2020-05-04,20.76,625,49,8\n"5750",2020-05-15,19.27,932,50,8\n"5751",2020-05-13,21.27,676,51,8\n"5752",2020-05-27,20,562,52,8\n"5753",2020-05-12,19.45,733,53,8\n"5754",2020-05-11,21.32,599,54,8\n"5755",2020-05-06,20.47,426,55,8\n"5756",2020-05-26,20.91,604,56,8\n"5757",2020-05-02,20.58,1080,57,8\n"5758",2020-05-21,20.74,157,58,8\n"5759",2020-05-22,21.24,173,59,8\n"5760",2020-05-18,21.34,543,60,8\n"5761",2020-05-15,20.25,229,61,8\n"5762",2020-05-21,20.44,475,62,8\n"5763",2020-05-21,19.42,1079,63,8\n"5764",2020-05-23,20.21,228,64,8\n"5765",2020-05-20,20.12,334,65,8\n"5766",2020-05-12,21.4,1053,66,8\n"5767",2020-05-09,19.74,636,67,8\n"5768",2020-05-22,21.57,132,68,8\n"5769",2020-05-27,20.48,391,69,8\n"5770",2020-05-13,20.12,601,70,8\n"5771",2020-05-23,20.19,307,71,8\n"5772",2020-05-24,21.01,404,72,8\n"5773",2020-05-17,20.3,869,73,8\n"5774",2020-05-23,21.18,527,74,8\n"5775",2020-05-22,19.33,671,75,8\n"5776",2020-05-06,21.14,782,76,8\n"5777",2020-05-27,20.29,404,77,8\n"5778",2020-05-05,21.05,421,78,8\n"5779",2020-05-12,19.43,491,79,8\n"5780",2020-05-21,20.3,533,80,8\n"5781",2020-05-17,20.64,582,81,8\n"5782",2020-05-12,20.26,584,82,8\n"5783",2020-05-17,20.62,465,83,8\n"5784",2020-05-27,19.62,319,84,8\n"5785",2020-05-29,20.73,377,85,8\n"5786",2020-05-22,21.71,674,86,8\n"5787",2020-05-07,21.28,544,87,8\n"5788",2020-05-17,19.82,539,88,8\n"5789",2020-05-02,19.93,743,89,8\n"5790",2020-05-20,19.68,538,90,8\n"5791",2020-05-07,21.94,301,91,8\n"5792",2020-05-31,20.54,343,92,8\n"5793",2020-05-29,20.79,536,93,8\n"5794",2020-05-26,19.47,678,94,8\n"5795",2020-05-25,20.19,851,95,8\n"5796",2020-05-19,20.37,336,96,8\n"5797",2020-05-06,20.59,416,97,8\n"5798",2020-05-14,20.22,598,98,8\n"5799",2020-05-04,20.3,336,99,8\n"5800",2020-05-22,20.44,357,100,8\n"5801",2020-05-08,20.24,390,1,9\n"5802",2020-05-20,21.64,852,2,9\n"5803",2020-05-04,18.95,489,3,9\n"5804",2020-05-08,19.12,219,4,9\n"5805",2020-05-25,20.79,187,5,9\n"5806",2020-05-03,20.7,365,6,9\n"5807",2020-05-09,21.12,1564,7,9\n"5808",2020-05-08,19.98,575,8,9\n"5809",2020-05-12,19.66,1726,9,9\n"5810",2020-05-25,19.72,270,10,9\n"5811",2020-05-24,21.22,550,11,9\n"5812",2020-05-21,20.48,470,12,9\n"5813",2020-05-31,22.28,374,13,9\n"5814",2020-05-03,19.1,392,14,9\n"5815",2020-05-20,20.09,432,15,9\n"5816",2020-05-10,20.09,456,16,9\n"5817",2020-05-05,20.98,478,17,9\n"5818",2020-05-30,20.52,804,18,9\n"5819",2020-05-30,20.88,472,19,9\n"5820",2020-05-12,20,990,20,9\n"5821",2020-05-01,20.84,327,21,9\n"5822",2020-05-06,21.12,666,22,9\n"5823",2020-05-31,19.87,398,23,9\n"5824",2020-05-18,21.29,598,24,9\n"5825",2020-05-17,20.71,417,25,9\n"5826",2020-05-15,20.2,558,26,9\n"5827",2020-05-21,20.71,1166,27,9\n"5828",2020-05-17,20.18,612,28,9\n"5829",2020-05-09,20.61,738,29,9\n"5830",2020-05-18,21.15,644,30,9\n"5831",2020-05-08,19.98,250,31,9\n"5832",2020-05-18,21.14,246,32,9\n"5833",2020-05-30,19.84,635,33,9\n"5834",2020-05-05,21.05,318,34,9\n"5835",2020-05-24,19.65,413,35,9\n"5836",2020-05-28,20.97,293,36,9\n"5837",2020-05-15,19.94,282,37,9\n"5838",2020-05-16,18.92,859,38,9\n"5839",2020-05-26,20.93,389,39,9\n"5840",2020-05-29,19.47,328,40,9\n"5841",2020-05-22,20.62,575,41,9\n"5842",2020-05-23,18.99,603,42,9\n"5843",2020-05-12,19.31,646,43,9\n"5844",2020-05-21,20.52,419,44,9\n"5845",2020-05-04,20.1,494,45,9\n"5846",2020-05-04,19.88,389,46,9\n"5847",2020-05-02,20.18,360,47,9\n"5848",2020-05-31,19.98,360,48,9\n"5849",2020-05-04,20.6,911,49,9\n"5850",2020-05-15,20.25,585,50,9\n"5851",2020-05-13,20.1,387,51,9\n"5852",2020-05-27,20.69,592,52,9\n"5853",2020-05-12,20.92,550,53,9\n"5854",2020-05-11,21.6,598,54,9\n"5855",2020-05-06,21.1,684,55,9\n"5856",2020-05-26,20.81,243,56,9\n"5857",2020-05-02,21.42,377,57,9\n"5858",2020-05-21,20.19,379,58,9\n"5859",2020-05-22,20.77,393,59,9\n"5860",2020-05-18,20.27,424,60,9\n"5861",2020-05-15,19.34,455,61,9\n"5862",2020-05-21,19.78,317,62,9\n"5863",2020-05-21,20.01,630,63,9\n"5864",2020-05-23,21.04,325,64,9\n"5865",2020-05-20,20.08,370,65,9\n"5866",2020-05-12,20.21,335,66,9\n"5867",2020-05-09,19.47,725,67,9\n"5868",2020-05-22,21,433,68,9\n"5869",2020-05-27,20.26,503,69,9\n"5870",2020-05-13,20.71,533,70,9\n"5871",2020-05-23,20.51,567,71,9\n"5872",2020-05-24,20.88,287,72,9\n"5873",2020-05-17,19.91,1099,73,9\n"5874",2020-05-23,20.26,354,74,9\n"5875",2020-05-22,20.49,785,75,9\n"5876",2020-05-06,19.3,800,76,9\n"5877",2020-05-27,20.28,243,77,9\n"5878",2020-05-05,20.08,803,78,9\n"5879",2020-05-12,20.08,344,79,9\n"5880",2020-05-21,20.08,462,80,9\n"5881",2020-05-17,19.63,515,81,9\n"5882",2020-05-12,19.37,722,82,9\n"5883",2020-05-17,21.39,814,83,9\n"5884",2020-05-27,20.59,273,84,9\n"5885",2020-05-29,20.25,329,85,9\n"5886",2020-05-22,20.44,361,86,9\n"5887",2020-05-07,20.18,215,87,9\n"5888",2020-05-17,20.95,791,88,9\n"5889",2020-05-02,20.81,118,89,9\n"5890",2020-05-20,19.15,312,90,9\n"5891",2020-05-07,20.84,234,91,9\n"5892",2020-05-31,20.61,862,92,9\n"5893",2020-05-29,20.72,433,93,9\n"5894",2020-05-26,20.28,929,94,9\n"5895",2020-05-25,19.64,406,95,9\n"5896",2020-05-19,19.77,876,96,9\n"5897",2020-05-06,20.83,415,97,9\n"5898",2020-05-14,19.95,714,98,9\n"5899",2020-05-04,21.45,310,99,9\n"5900",2020-05-22,19.52,851,100,9\n"5901",2020-05-08,20.71,480,1,10\n"5902",2020-05-20,20.68,587,2,10\n"5903",2020-05-04,19.89,816,3,10\n"5904",2020-05-08,20.64,265,4,10\n"5905",2020-05-25,20.94,500,5,10\n"5906",2020-05-03,19.35,411,6,10\n"5907",2020-05-09,19.54,523,7,10\n"5908",2020-05-08,20.08,620,8,10\n"5909",2020-05-12,20.28,603,9,10\n"5910",2020-05-25,21.41,691,10,10\n"5911",2020-05-24,20.36,274,11,10\n"5912",2020-05-21,20.14,231,12,10\n"5913",2020-05-31,19.04,309,13,10\n"5914",2020-05-03,19.49,918,14,10\n"5915",2020-05-20,21.03,205,15,10\n"5916",2020-05-10,20.82,528,16,10\n"5917",2020-05-05,20.72,471,17,10\n"5918",2020-05-30,20.36,462,18,10\n"5919",2020-05-30,21.2,719,19,10\n"5920",2020-05-12,21.18,658,20,10\n"5921",2020-05-01,20.77,511,21,10\n"5922",2020-05-06,21.31,2163,22,10\n"5923",2020-05-31,19.75,247,23,10\n"5924",2020-05-18,19.99,612,24,10\n"5925",2020-05-17,20.33,402,25,10\n"5926",2020-05-15,19.5,219,26,10\n"5927",2020-05-21,20.78,351,27,10\n"5928",2020-05-17,20.83,297,28,10\n"5929",2020-05-09,20.17,180,29,10\n"5930",2020-05-18,20.61,321,30,10\n"5931",2020-05-08,18.91,691,31,10\n"5932",2020-05-18,20.24,385,32,10\n"5933",2020-05-30,20.25,461,33,10\n"5934",2020-05-05,20.59,168,34,10\n"5935",2020-05-24,20.84,254,35,10\n"5936",2020-05-28,20.62,456,36,10\n"5937",2020-05-15,21.31,263,37,10\n"5938",2020-05-16,20.37,286,38,10\n"5939",2020-05-26,19.77,483,39,10\n"5940",2020-05-29,20.61,491,40,10\n"5941",2020-05-22,19.98,363,41,10\n"5942",2020-05-23,20.67,419,42,10\n"5943",2020-05-12,20.62,309,43,10\n"5944",2020-05-21,19.47,294,44,10\n"5945",2020-05-04,20.94,759,45,10\n"5946",2020-05-04,20.28,222,46,10\n"5947",2020-05-02,19.43,803,47,10\n"5948",2020-05-31,21.4,190,48,10\n"5949",2020-05-04,20.8,378,49,10\n"5950",2020-05-15,21.23,933,50,10\n"5951",2020-05-13,20.79,457,51,10\n"5952",2020-05-27,19.2,807,52,10\n"5953",2020-05-12,20.86,483,53,10\n"5954",2020-05-11,20.27,417,54,10\n"5955",2020-05-06,19.88,332,55,10\n"5956",2020-05-26,20.18,437,56,10\n"5957",2020-05-02,20.36,278,57,10\n"5958",2020-05-21,20.29,587,58,10\n"5959",2020-05-22,19.3,476,59,10\n"5960",2020-05-18,19.41,623,60,10\n"5961",2020-05-15,19.97,448,61,10\n"5962",2020-05-21,19.39,734,62,10\n"5963",2020-05-21,19.99,423,63,10\n"5964",2020-05-23,20.07,682,64,10\n"5965",2020-05-20,21.03,683,65,10\n"5966",2020-05-12,19.07,444,66,10\n"5967",2020-05-09,21.03,392,67,10\n"5968",2020-05-22,20.78,430,68,10\n"5969",2020-05-27,20.3,421,69,10\n"5970",2020-05-13,20.05,461,70,10\n"5971",2020-05-23,20.49,953,71,10\n"5972",2020-05-24,19.95,599,72,10\n"5973",2020-05-17,20.86,454,73,10\n"5974",2020-05-23,19.69,975,74,10\n"5975",2020-05-22,20.47,229,75,10\n"5976",2020-05-06,20.38,393,76,10\n"5977",2020-05-27,19.87,234,77,10\n"5978",2020-05-05,21.4,758,78,10\n"5979",2020-05-12,20.01,684,79,10\n"5980",2020-05-21,19.43,487,80,10\n"5981",2020-05-17,20.98,663,81,10\n"5982",2020-05-12,20.7,538,82,10\n"5983",2020-05-17,19.82,870,83,10\n"5984",2020-05-27,20.32,339,84,10\n"5985",2020-05-29,19.65,358,85,10\n"5986",2020-05-22,20.21,424,86,10\n"5987",2020-05-07,20,266,87,10\n"5988",2020-05-17,21,560,88,10\n"5989",2020-05-02,20.67,1568,89,10\n"5990",2020-05-20,21.05,537,90,10\n"5991",2020-05-07,20.81,235,91,10\n"5992",2020-05-31,21,503,92,10\n"5993",2020-05-29,20.25,606,93,10\n"5994",2020-05-26,19.93,508,94,10\n"5995",2020-05-25,20.1,395,95,10\n"5996",2020-05-19,20.69,1437,96,10\n"5997",2020-05-06,20.28,1102,97,10\n"5998",2020-05-14,20.58,546,98,10\n"5999",2020-05-04,21.19,534,99,10\n"6000",2020-05-22,19.12,411,100,10\n"6001",2020-06-14,19.08,427,1,1\n"6002",2020-06-19,19.6,618,2,1\n"6003",2020-06-25,21.1,664,3,1\n"6004",2020-06-10,18.72,499,4,1\n"6005",2020-06-02,19.92,266,5,1\n"6006",2020-06-14,19.57,1159,6,1\n"6007",2020-06-18,21.07,341,7,1\n"6008",2020-06-19,20.11,265,8,1\n"6009",2020-06-19,18.88,196,9,1\n"6010",2020-06-12,20.01,258,10,1\n"6011",2020-06-09,21.53,256,11,1\n"6012",2020-06-28,19.93,1113,12,1\n"6013",2020-06-03,20.75,412,13,1\n"6014",2020-06-07,19.91,314,14,1\n"6015",2020-06-29,19.8,351,15,1\n"6016",2020-06-07,20.28,268,16,1\n"6017",2020-06-05,19.89,357,17,1\n"6018",2020-06-03,20.29,114,18,1\n"6019",2020-06-25,20.87,263,19,1\n"6020",2020-06-02,20.87,492,20,1\n"6021",2020-06-21,20.24,482,21,1\n"6022",2020-06-20,20.27,501,22,1\n"6023",2020-06-18,20.91,1307,23,1\n"6024",2020-06-02,19.69,102,24,1\n"6025",2020-06-24,20.97,580,25,1\n"6026",2020-06-09,20.04,429,26,1\n"6027",2020-06-13,21.31,328,27,1\n"6028",2020-06-29,19.93,408,28,1\n"6029",2020-06-12,20.09,303,29,1\n"6030",2020-06-13,20.32,389,30,1\n"6031",2020-06-01,19.64,203,31,1\n"6032",2020-06-28,19.44,325,32,1\n"6033",2020-06-17,20.37,789,33,1\n"6034",2020-06-18,20.45,211,34,1\n"6035",2020-06-18,20.03,435,35,1\n"6036",2020-06-02,20.12,739,36,1\n"6037",2020-06-27,20.4,247,37,1\n"6038",2020-06-06,19.7,300,38,1\n"6039",2020-06-17,19.56,536,39,1\n"6040",2020-06-12,20.61,682,40,1\n"6041",2020-06-06,20.27,722,41,1\n"6042",2020-06-10,20.4,384,42,1\n"6043",2020-06-26,19.89,390,43,1\n"6044",2020-06-10,20.39,350,44,1\n"6045",2020-06-16,20.06,319,45,1\n"6046",2020-06-13,20.57,265,46,1\n"6047",2020-06-30,20.8,551,47,1\n"6048",2020-06-05,20.37,169,48,1\n"6049",2020-06-17,20.42,698,49,1\n"6050",2020-06-21,19.86,252,50,1\n"6051",2020-06-15,19.32,445,51,1\n"6052",2020-06-18,20.28,223,52,1\n"6053",2020-06-21,18.87,956,53,1\n"6054",2020-06-08,20.66,305,54,1\n"6055",2020-06-19,19.77,104,55,1\n"6056",2020-06-08,20.36,301,56,1\n"6057",2020-06-11,20.23,341,57,1\n"6058",2020-06-10,20.24,207,58,1\n"6059",2020-06-22,19.26,240,59,1\n"6060",2020-06-26,20.46,459,60,1\n"6061",2020-06-07,20.66,745,61,1\n"6062",2020-06-26,20.61,311,62,1\n"6063",2020-06-01,20.42,187,63,1\n"6064",2020-06-20,19.63,514,64,1\n"6065",2020-06-11,20.75,650,65,1\n"6066",2020-06-07,21.09,456,66,1\n"6067",2020-06-22,20.72,280,67,1\n"6068",2020-06-22,19.28,520,68,1\n"6069",2020-06-24,20.25,378,69,1\n"6070",2020-06-20,19.24,614,70,1\n"6071",2020-06-09,19.28,632,71,1\n"6072",2020-06-30,19.63,440,72,1\n"6073",2020-06-08,20.62,399,73,1\n"6074",2020-06-03,20.3,508,74,1\n"6075",2020-06-27,21.06,201,75,1\n"6076",2020-06-27,20.17,145,76,1\n"6077",2020-06-01,19.01,286,77,1\n"6078",2020-06-12,19.43,99,78,1\n"6079",2020-06-29,19.85,268,79,1\n"6080",2020-06-17,20.41,329,80,1\n"6081",2020-06-28,20.2,725,81,1\n"6082",2020-06-05,20.33,339,82,1\n"6083",2020-06-08,19.46,220,83,1\n"6084",2020-06-16,19.96,593,84,1\n"6085",2020-06-29,20.41,418,85,1\n"6086",2020-06-25,19.56,440,86,1\n"6087",2020-06-20,20.37,437,87,1\n"6088",2020-06-08,19.8,421,88,1\n"6089",2020-06-18,19.59,206,89,1\n"6090",2020-06-21,19.51,883,90,1\n"6091",2020-06-28,20.83,620,91,1\n"6092",2020-06-03,21.27,342,92,1\n"6093",2020-06-18,20.64,497,93,1\n"6094",2020-06-12,20.86,169,94,1\n"6095",2020-06-18,20.98,813,95,1\n"6096",2020-06-22,19.56,244,96,1\n"6097",2020-06-26,21.63,262,97,1\n"6098",2020-06-05,20.04,205,98,1\n"6099",2020-06-25,19.8,558,99,1\n"6100",2020-06-22,20.45,270,100,1\n"6101",2020-06-14,20.84,248,1,2\n"6102",2020-06-19,20.45,311,2,2\n"6103",2020-06-25,19.58,143,3,2\n"6104",2020-06-10,18.95,632,4,2\n"6105",2020-06-02,20.01,220,5,2\n"6106",2020-06-14,20.76,835,6,2\n"6107",2020-06-18,20.7,379,7,2\n"6108",2020-06-19,19.73,539,8,2\n"6109",2020-06-19,20.05,410,9,2\n"6110",2020-06-12,20.01,414,10,2\n"6111",2020-06-09,20.11,302,11,2\n"6112",2020-06-28,20.66,406,12,2\n"6113",2020-06-03,20.05,385,13,2\n"6114",2020-06-07,19.96,539,14,2\n"6115",2020-06-29,19.14,416,15,2\n"6116",2020-06-07,19.96,342,16,2\n"6117",2020-06-05,20.47,361,17,2\n"6118",2020-06-03,20.45,182,18,2\n"6119",2020-06-25,20.53,366,19,2\n"6120",2020-06-02,21.27,869,20,2\n"6121",2020-06-21,19.86,277,21,2\n"6122",2020-06-20,20.82,340,22,2\n"6123",2020-06-18,20.13,150,23,2\n"6124",2020-06-02,21.21,597,24,2\n"6125",2020-06-24,19.8,326,25,2\n"6126",2020-06-09,20.81,135,26,2\n"6127",2020-06-13,20.25,435,27,2\n"6128",2020-06-29,20.29,310,28,2\n"6129",2020-06-12,19.79,278,29,2\n"6130",2020-06-13,20.2,341,30,2\n"6131",2020-06-01,19.92,239,31,2\n"6132",2020-06-28,20.23,444,32,2\n"6133",2020-06-17,20.93,680,33,2\n"6134",2020-06-18,20.21,722,34,2\n"6135",2020-06-18,19.92,204,35,2\n"6136",2020-06-02,20.03,221,36,2\n"6137",2020-06-27,20.88,281,37,2\n"6138",2020-06-06,19.55,226,38,2\n"6139",2020-06-17,19.12,160,39,2\n"6140",2020-06-12,19.19,586,40,2\n"6141",2020-06-06,20.49,154,41,2\n"6142",2020-06-10,20.12,137,42,2\n"6143",2020-06-26,19.85,529,43,2\n"6144",2020-06-10,20.42,473,44,2\n"6145",2020-06-16,19.87,342,45,2\n"6146",2020-06-13,19.86,282,46,2\n"6147",2020-06-30,20.69,484,47,2\n"6148",2020-06-05,20.98,520,48,2\n"6149",2020-06-17,18.44,504,49,2\n"6150",2020-06-21,19.98,456,50,2\n"6151",2020-06-15,19.83,546,51,2\n"6152",2020-06-18,19.41,480,52,2\n"6153",2020-06-21,18.52,369,53,2\n"6154",2020-06-08,19.44,380,54,2\n"6155",2020-06-19,19.73,640,55,2\n"6156",2020-06-08,20.05,407,56,2\n"6157",2020-06-11,19.62,682,57,2\n"6158",2020-06-10,19.65,833,58,2\n"6159",2020-06-22,20.8,245,59,2\n"6160",2020-06-26,20.46,1002,60,2\n"6161",2020-06-07,20.04,231,61,2\n"6162",2020-06-26,20.35,282,62,2\n"6163",2020-06-01,19.79,806,63,2\n"6164",2020-06-20,20.19,323,64,2\n"6165",2020-06-11,19.88,1352,65,2\n"6166",2020-06-07,20.45,210,66,2\n"6167",2020-06-22,20.07,250,67,2\n"6168",2020-06-22,20.3,372,68,2\n"6169",2020-06-24,20.36,243,69,2\n"6170",2020-06-20,20.55,230,70,2\n"6171",2020-06-09,20.81,387,71,2\n"6172",2020-06-30,19.95,393,72,2\n"6173",2020-06-08,19.63,243,73,2\n"6174",2020-06-03,20.49,379,74,2\n"6175",2020-06-27,19.88,238,75,2\n"6176",2020-06-27,20.47,1049,76,2\n"6177",2020-06-01,20.03,606,77,2\n"6178",2020-06-12,20.48,544,78,2\n"6179",2020-06-29,20.33,289,79,2\n"6180",2020-06-17,20.09,190,80,2\n"6181",2020-06-28,20.41,143,81,2\n"6182",2020-06-05,20.49,253,82,2\n"6183",2020-06-08,19.78,160,83,2\n"6184",2020-06-16,20.52,285,84,2\n"6185",2020-06-29,19.81,308,85,2\n"6186",2020-06-25,20.13,523,86,2\n"6187",2020-06-20,20.5,273,87,2\n"6188",2020-06-08,20.96,178,88,2\n"6189",2020-06-18,20.02,497,89,2\n"6190",2020-06-21,19.48,290,90,2\n"6191",2020-06-28,20.03,297,91,2\n"6192",2020-06-03,19.88,476,92,2\n"6193",2020-06-18,20.44,119,93,2\n"6194",2020-06-12,20.33,443,94,2\n"6195",2020-06-18,19.67,344,95,2\n"6196",2020-06-22,20.89,392,96,2\n"6197",2020-06-26,21.25,222,97,2\n"6198",2020-06-05,20.25,377,98,2\n"6199",2020-06-25,20.36,509,99,2\n"6200",2020-06-22,20.26,223,100,2\n"6201",2020-06-14,20.05,656,1,3\n"6202",2020-06-19,19.26,310,2,3\n"6203",2020-06-25,20.59,594,3,3\n"6204",2020-06-10,20.5,844,4,3\n"6205",2020-06-02,19.68,253,5,3\n"6206",2020-06-14,20.02,294,6,3\n"6207",2020-06-18,19.86,308,7,3\n"6208",2020-06-19,20.73,572,8,3\n"6209",2020-06-19,20,312,9,3\n"6210",2020-06-12,21.05,344,10,3\n"6211",2020-06-09,19.86,355,11,3\n"6212",2020-06-28,20.27,313,12,3\n"6213",2020-06-03,19.4,266,13,3\n"6214",2020-06-07,20.56,388,14,3\n"6215",2020-06-29,20.35,220,15,3\n"6216",2020-06-07,21.47,932,16,3\n"6217",2020-06-05,20.2,456,17,3\n"6218",2020-06-03,21.22,302,18,3\n"6219",2020-06-25,19.73,445,19,3\n"6220",2020-06-02,20.29,319,20,3\n"6221",2020-06-21,20.04,261,21,3\n"6222",2020-06-20,19.45,393,22,3\n"6223",2020-06-18,20.87,373,23,3\n"6224",2020-06-02,19.98,557,24,3\n"6225",2020-06-24,21.31,439,25,3\n"6226",2020-06-09,21.08,466,26,3\n"6227",2020-06-13,20.12,385,27,3\n"6228",2020-06-29,19.8,362,28,3\n"6229",2020-06-12,20.08,318,29,3\n"6230",2020-06-13,20.34,490,30,3\n"6231",2020-06-01,20.51,1096,31,3\n"6232",2020-06-28,20.67,442,32,3\n"6233",2020-06-17,20.16,571,33,3\n"6234",2020-06-18,19.72,445,34,3\n"6235",2020-06-18,19.58,450,35,3\n"6236",2020-06-02,19.74,689,36,3\n"6237",2020-06-27,20.35,238,37,3\n"6238",2020-06-06,19.84,304,38,3\n"6239",2020-06-17,20.12,248,39,3\n"6240",2020-06-12,19.33,269,40,3\n"6241",2020-06-06,20.04,482,41,3\n"6242",2020-06-10,20.74,327,42,3\n"6243",2020-06-26,19.56,586,43,3\n"6244",2020-06-10,19.91,554,44,3\n"6245",2020-06-16,20.94,171,45,3\n"6246",2020-06-13,19.16,203,46,3\n"6247",2020-06-30,20.92,349,47,3\n"6248",2020-06-05,20.56,484,48,3\n"6249",2020-06-17,20.51,676,49,3\n"6250",2020-06-21,19.22,628,50,3\n"6251",2020-06-15,19.25,726,51,3\n"6252",2020-06-18,19.99,308,52,3\n"6253",2020-06-21,20.12,431,53,3\n"6254",2020-06-08,20.39,170,54,3\n"6255",2020-06-19,20.05,246,55,3\n"6256",2020-06-08,19.79,248,56,3\n"6257",2020-06-11,19.56,717,57,3\n"6258",2020-06-10,20.17,225,58,3\n"6259",2020-06-22,19.45,628,59,3\n"6260",2020-06-26,20.45,129,60,3\n"6261",2020-06-07,19.44,698,61,3\n"6262",2020-06-26,20.66,554,62,3\n"6263",2020-06-01,20.83,549,63,3\n"6264",2020-06-20,19.72,190,64,3\n"6265",2020-06-11,20.35,440,65,3\n"6266",2020-06-07,20.24,299,66,3\n"6267",2020-06-22,19.73,125,67,3\n"6268",2020-06-22,19.75,232,68,3\n"6269",2020-06-24,20.07,305,69,3\n"6270",2020-06-20,19.78,199,70,3\n"6271",2020-06-09,20.64,122,71,3\n"6272",2020-06-30,19.64,316,72,3\n"6273",2020-06-08,19.82,348,73,3\n"6274",2020-06-03,19.57,378,74,3\n"6275",2020-06-27,19.64,482,75,3\n"6276",2020-06-27,20.02,181,76,3\n"6277",2020-06-01,21.15,446,77,3\n"6278",2020-06-12,21.03,317,78,3\n"6279",2020-06-29,20.49,487,79,3\n"6280",2020-06-17,19.73,273,80,3\n"6281",2020-06-28,20.59,172,81,3\n"6282",2020-06-05,19.92,173,82,3\n"6283",2020-06-08,19.71,344,83,3\n"6284",2020-06-16,19.66,453,84,3\n"6285",2020-06-29,19.68,745,85,3\n"6286",2020-06-25,19.87,161,86,3\n"6287",2020-06-20,20.12,215,87,3\n"6288",2020-06-08,19.57,327,88,3\n"6289",2020-06-18,20.69,186,89,3\n"6290",2020-06-21,19.5,269,90,3\n"6291",2020-06-28,20.66,278,91,3\n"6292",2020-06-03,19.78,106,92,3\n"6293",2020-06-18,20.27,515,93,3\n"6294",2020-06-12,21.13,420,94,3\n"6295",2020-06-18,20.41,192,95,3\n"6296",2020-06-22,19.57,175,96,3\n"6297",2020-06-26,19.64,234,97,3\n"6298",2020-06-05,21.45,560,98,3\n"6299",2020-06-25,20.44,180,99,3\n"6300",2020-06-22,20.52,808,100,3\n"6301",2020-06-14,20.21,163,1,4\n"6302",2020-06-19,19.55,138,2,4\n"6303",2020-06-25,19.81,339,3,4\n"6304",2020-06-10,20.06,162,4,4\n"6305",2020-06-02,19.76,548,5,4\n"6306",2020-06-14,19.94,432,6,4\n"6307",2020-06-18,20.51,479,7,4\n"6308",2020-06-19,20.61,176,8,4\n"6309",2020-06-19,19.77,288,9,4\n"6310",2020-06-12,18.97,468,10,4\n"6311",2020-06-09,19.34,255,11,4\n"6312",2020-06-28,19.57,333,12,4\n"6313",2020-06-03,20.3,591,13,4\n"6314",2020-06-07,18.65,370,14,4\n"6315",2020-06-29,18.48,199,15,4\n"6316",2020-06-07,20.46,195,16,4\n"6317",2020-06-05,19,365,17,4\n"6318",2020-06-03,20.15,504,18,4\n"6319",2020-06-25,21.07,321,19,4\n"6320",2020-06-02,19.61,470,20,4\n"6321",2020-06-21,19.34,323,21,4\n"6322",2020-06-20,20.29,320,22,4\n"6323",2020-06-18,20.33,313,23,4\n"6324",2020-06-02,20.58,439,24,4\n"6325",2020-06-24,20.05,253,25,4\n"6326",2020-06-09,19.71,310,26,4\n"6327",2020-06-13,20.75,305,27,4\n"6328",2020-06-29,18.85,488,28,4\n"6329",2020-06-12,19.88,335,29,4\n"6330",2020-06-13,19.14,245,30,4\n"6331",2020-06-01,20,548,31,4\n"6332",2020-06-28,19.75,100,32,4\n"6333",2020-06-17,20.34,377,33,4\n"6334",2020-06-18,20.46,284,34,4\n"6335",2020-06-18,20.79,283,35,4\n"6336",2020-06-02,20.27,523,36,4\n"6337",2020-06-27,20.17,246,37,4\n"6338",2020-06-06,20.01,240,38,4\n"6339",2020-06-17,20.42,305,39,4\n"6340",2020-06-12,21.31,402,40,4\n"6341",2020-06-06,20.94,291,41,4\n"6342",2020-06-10,19.77,631,42,4\n"6343",2020-06-26,19.86,222,43,4\n"6344",2020-06-10,20.68,464,44,4\n"6345",2020-06-16,20.29,439,45,4\n"6346",2020-06-13,19.36,237,46,4\n"6347",2020-06-30,19.89,214,47,4\n"6348",2020-06-05,19.99,193,48,4\n"6349",2020-06-17,19.74,334,49,4\n"6350",2020-06-21,20.83,339,50,4\n"6351",2020-06-15,19.86,300,51,4\n"6352",2020-06-18,20.51,358,52,4\n"6353",2020-06-21,19.11,352,53,4\n"6354",2020-06-08,20.5,146,54,4\n"6355",2020-06-19,20.47,292,55,4\n"6356",2020-06-08,20.29,218,56,4\n"6357",2020-06-11,19.87,252,57,4\n"6358",2020-06-10,19.94,178,58,4\n"6359",2020-06-22,19.75,997,59,4\n"6360",2020-06-26,19.92,470,60,4\n"6361",2020-06-07,18.91,570,61,4\n"6362",2020-06-26,19.92,270,62,4\n"6363",2020-06-01,19.24,686,63,4\n"6364",2020-06-20,19.98,935,64,4\n"6365",2020-06-11,19.66,476,65,4\n"6366",2020-06-07,20.27,652,66,4\n"6367",2020-06-22,19.77,267,67,4\n"6368",2020-06-22,20.05,771,68,4\n"6369",2020-06-24,20.63,307,69,4\n"6370",2020-06-20,20.09,535,70,4\n"6371",2020-06-09,20.35,521,71,4\n"6372",2020-06-30,19.34,329,72,4\n"6373",2020-06-08,19.88,344,73,4\n"6374",2020-06-03,19.53,213,74,4\n"6375",2020-06-27,20.36,663,75,4\n"6376",2020-06-27,20.75,1015,76,4\n"6377",2020-06-01,19.93,165,77,4\n"6378",2020-06-12,19.32,474,78,4\n"6379",2020-06-29,20.56,283,79,4\n"6380",2020-06-17,19.37,353,80,4\n"6381",2020-06-28,19.99,556,81,4\n"6382",2020-06-05,20.34,614,82,4\n"6383",2020-06-08,20.23,553,83,4\n"6384",2020-06-16,19.7,670,84,4\n"6385",2020-06-29,20.07,367,85,4\n"6386",2020-06-25,18.76,832,86,4\n"6387",2020-06-20,21.18,475,87,4\n"6388",2020-06-08,20.28,837,88,4\n"6389",2020-06-18,19.74,463,89,4\n"6390",2020-06-21,19.07,401,90,4\n"6391",2020-06-28,21.13,592,91,4\n"6392",2020-06-03,21.04,756,92,4\n"6393",2020-06-18,20.91,403,93,4\n"6394",2020-06-12,20.39,722,94,4\n"6395",2020-06-18,20.56,523,95,4\n"6396",2020-06-22,20.47,394,96,4\n"6397",2020-06-26,21.06,342,97,4\n"6398",2020-06-05,20.37,289,98,4\n"6399",2020-06-25,20.87,432,99,4\n"6400",2020-06-22,20.27,476,100,4\n"6401",2020-06-14,19.79,539,1,5\n"6402",2020-06-19,20.61,506,2,5\n"6403",2020-06-25,18.74,277,3,5\n"6404",2020-06-10,19.83,480,4,5\n"6405",2020-06-02,19.74,214,5,5\n"6406",2020-06-14,20.57,454,6,5\n"6407",2020-06-18,19.83,628,7,5\n"6408",2020-06-19,21.03,316,8,5\n"6409",2020-06-19,21.1,242,9,5\n"6410",2020-06-12,20.15,294,10,5\n"6411",2020-06-09,19.54,843,11,5\n"6412",2020-06-28,20.72,429,12,5\n"6413",2020-06-03,20.2,363,13,5\n"6414",2020-06-07,19.53,164,14,5\n"6415",2020-06-29,20.17,477,15,5\n"6416",2020-06-07,19.52,365,16,5\n"6417",2020-06-05,20.1,798,17,5\n"6418",2020-06-03,19.62,329,18,5\n"6419",2020-06-25,19.57,300,19,5\n"6420",2020-06-02,20.31,524,20,5\n"6421",2020-06-21,19.58,215,21,5\n"6422",2020-06-20,20.73,287,22,5\n"6423",2020-06-18,20.44,570,23,5\n"6424",2020-06-02,20.16,275,24,5\n"6425",2020-06-24,20.51,232,25,5\n"6426",2020-06-09,20.01,248,26,5\n"6427",2020-06-13,19.76,664,27,5\n"6428",2020-06-29,21.01,462,28,5\n"6429",2020-06-12,19.73,287,29,5\n"6430",2020-06-13,20.5,171,30,5\n"6431",2020-06-01,20.24,280,31,5\n"6432",2020-06-28,19.2,251,32,5\n"6433",2020-06-17,20.44,508,33,5\n"6434",2020-06-18,20.28,261,34,5\n"6435",2020-06-18,19.26,236,35,5\n"6436",2020-06-02,20.26,305,36,5\n"6437",2020-06-27,20.51,362,37,5\n"6438",2020-06-06,19.85,342,38,5\n"6439",2020-06-17,19.88,161,39,5\n"6440",2020-06-12,20.97,330,40,5\n"6441",2020-06-06,21.15,604,41,5\n"6442",2020-06-10,20.74,339,42,5\n"6443",2020-06-26,19.86,360,43,5\n"6444",2020-06-10,20.58,429,44,5\n"6445",2020-06-16,19.72,769,45,5\n"6446",2020-06-13,20.3,137,46,5\n"6447",2020-06-30,20.34,241,47,5\n"6448",2020-06-05,19.73,136,48,5\n"6449",2020-06-17,20.69,316,49,5\n"6450",2020-06-21,19.82,335,50,5\n"6451",2020-06-15,20.7,296,51,5\n"6452",2020-06-18,20.51,203,52,5\n"6453",2020-06-21,20.19,400,53,5\n"6454",2020-06-08,21.7,588,54,5\n"6455",2020-06-19,19.28,400,55,5\n"6456",2020-06-08,20.04,578,56,5\n"6457",2020-06-11,20.96,523,57,5\n"6458",2020-06-10,20.04,317,58,5\n"6459",2020-06-22,20.95,445,59,5\n"6460",2020-06-26,19.67,481,60,5\n"6461",2020-06-07,20.34,138,61,5\n"6462",2020-06-26,19.76,1156,62,5\n"6463",2020-06-01,19.55,273,63,5\n"6464",2020-06-20,20.07,146,64,5\n"6465",2020-06-11,20.22,340,65,5\n"6466",2020-06-07,20.51,135,66,5\n"6467",2020-06-22,19.54,237,67,5\n"6468",2020-06-22,20.49,381,68,5\n"6469",2020-06-24,19.97,372,69,5\n"6470",2020-06-20,20.31,292,70,5\n"6471",2020-06-09,19.7,230,71,5\n"6472",2020-06-30,19.43,265,72,5\n"6473",2020-06-08,20.38,570,73,5\n"6474",2020-06-03,20.26,130,74,5\n"6475",2020-06-27,19.83,253,75,5\n"6476",2020-06-27,20.16,959,76,5\n"6477",2020-06-01,20.03,236,77,5\n"6478",2020-06-12,19.78,338,78,5\n"6479",2020-06-29,20.24,330,79,5\n"6480",2020-06-17,19.72,324,80,5\n"6481",2020-06-28,20.7,330,81,5\n"6482",2020-06-05,20.69,347,82,5\n"6483",2020-06-08,19.7,398,83,5\n"6484",2020-06-16,20.29,516,84,5\n"6485",2020-06-29,20.44,385,85,5\n"6486",2020-06-25,20.05,194,86,5\n"6487",2020-06-20,19.31,490,87,5\n"6488",2020-06-08,19.74,444,88,5\n"6489",2020-06-18,20.82,930,89,5\n"6490",2020-06-21,19.42,182,90,5\n"6491",2020-06-28,20.86,797,91,5\n"6492",2020-06-03,20.21,236,92,5\n"6493",2020-06-18,19.79,191,93,5\n"6494",2020-06-12,19.94,392,94,5\n"6495",2020-06-18,20.03,267,95,5\n"6496",2020-06-22,19.81,539,96,5\n"6497",2020-06-26,20.83,238,97,5\n"6498",2020-06-05,20.01,225,98,5\n"6499",2020-06-25,20.35,465,99,5\n"6500",2020-06-22,21.06,358,100,5\n"6501",2020-06-14,20.64,777,1,6\n"6502",2020-06-19,19.86,227,2,6\n"6503",2020-06-25,20.55,300,3,6\n"6504",2020-06-10,20.07,578,4,6\n"6505",2020-06-02,20.33,436,5,6\n"6506",2020-06-14,19.53,312,6,6\n"6507",2020-06-18,20.35,447,7,6\n"6508",2020-06-19,19.9,442,8,6\n"6509",2020-06-19,20.32,152,9,6\n"6510",2020-06-12,20.25,898,10,6\n"6511",2020-06-09,20.25,235,11,6\n"6512",2020-06-28,19.73,661,12,6\n"6513",2020-06-03,20.81,178,13,6\n"6514",2020-06-07,20.06,228,14,6\n"6515",2020-06-29,20.16,592,15,6\n"6516",2020-06-07,19.79,299,16,6\n"6517",2020-06-05,20.28,502,17,6\n"6518",2020-06-03,20.12,386,18,6\n"6519",2020-06-25,20.67,95,19,6\n"6520",2020-06-02,20.03,634,20,6\n"6521",2020-06-21,20.54,264,21,6\n"6522",2020-06-20,20.02,290,22,6\n"6523",2020-06-18,20.11,171,23,6\n"6524",2020-06-02,19.61,649,24,6\n"6525",2020-06-24,20.34,357,25,6\n"6526",2020-06-09,19.73,523,26,6\n"6527",2020-06-13,20.77,266,27,6\n"6528",2020-06-29,20.75,188,28,6\n"6529",2020-06-12,20.21,337,29,6\n"6530",2020-06-13,19.68,360,30,6\n"6531",2020-06-01,20,622,31,6\n"6532",2020-06-28,20.03,305,32,6\n"6533",2020-06-17,19.46,205,33,6\n"6534",2020-06-18,20.61,688,34,6\n"6535",2020-06-18,19.8,215,35,6\n"6536",2020-06-02,19.65,147,36,6\n"6537",2020-06-27,19.92,1028,37,6\n"6538",2020-06-06,20,421,38,6\n"6539",2020-06-17,19.68,346,39,6\n"6540",2020-06-12,20.11,309,40,6\n"6541",2020-06-06,20.38,248,41,6\n"6542",2020-06-10,20.15,304,42,6\n"6543",2020-06-26,19.82,219,43,6\n"6544",2020-06-10,18.85,353,44,6\n"6545",2020-06-16,20.66,450,45,6\n"6546",2020-06-13,20.66,375,46,6\n"6547",2020-06-30,19.11,243,47,6\n"6548",2020-06-05,20.43,352,48,6\n"6549",2020-06-17,20.68,445,49,6\n"6550",2020-06-21,19.12,250,50,6\n"6551",2020-06-15,19.75,858,51,6\n"6552",2020-06-18,19.93,379,52,6\n"6553",2020-06-21,19.95,550,53,6\n"6554",2020-06-08,20.02,221,54,6\n"6555",2020-06-19,20.25,320,55,6\n"6556",2020-06-08,19.55,481,56,6\n"6557",2020-06-11,18.81,1484,57,6\n"6558",2020-06-10,20.34,441,58,6\n"6559",2020-06-22,20.97,354,59,6\n"6560",2020-06-26,19.66,459,60,6\n"6561",2020-06-07,20.32,260,61,6\n"6562",2020-06-26,20.29,260,62,6\n"6563",2020-06-01,19.48,293,63,6\n"6564",2020-06-20,20.12,389,64,6\n"6565",2020-06-11,19.41,395,65,6\n"6566",2020-06-07,20.15,231,66,6\n"6567",2020-06-22,20.31,414,67,6\n"6568",2020-06-22,20.49,334,68,6\n"6569",2020-06-24,20.98,468,69,6\n"6570",2020-06-20,20.04,319,70,6\n"6571",2020-06-09,20.36,370,71,6\n"6572",2020-06-30,19.82,226,72,6\n"6573",2020-06-08,20.64,967,73,6\n"6574",2020-06-03,18.99,351,74,6\n"6575",2020-06-27,20.62,496,75,6\n"6576",2020-06-27,19.31,376,76,6\n"6577",2020-06-01,19.27,237,77,6\n"6578",2020-06-12,19.85,382,78,6\n"6579",2020-06-29,20.76,289,79,6\n"6580",2020-06-17,20.57,421,80,6\n"6581",2020-06-28,20.28,297,81,6\n"6582",2020-06-05,20.51,251,82,6\n"6583",2020-06-08,20.13,108,83,6\n"6584",2020-06-16,20.4,504,84,6\n"6585",2020-06-29,20.37,881,85,6\n"6586",2020-06-25,20.14,543,86,6\n"6587",2020-06-20,20.34,292,87,6\n"6588",2020-06-08,20.3,174,88,6\n"6589",2020-06-18,20.76,163,89,6\n"6590",2020-06-21,19.16,250,90,6\n"6591",2020-06-28,19.97,1337,91,6\n"6592",2020-06-03,20.27,343,92,6\n"6593",2020-06-18,20.22,260,93,6\n"6594",2020-06-12,20.51,753,94,6\n"6595",2020-06-18,20.12,302,95,6\n"6596",2020-06-22,20.48,209,96,6\n"6597",2020-06-26,20.88,274,97,6\n"6598",2020-06-05,19.94,140,98,6\n"6599",2020-06-25,19,874,99,6\n"6600",2020-06-22,20.59,605,100,6\n"6601",2020-06-14,20.93,1813,1,7\n"6602",2020-06-19,19.2,508,2,7\n"6603",2020-06-25,19.62,386,3,7\n"6604",2020-06-10,20.08,162,4,7\n"6605",2020-06-02,20.23,181,5,7\n"6606",2020-06-14,19.92,178,6,7\n"6607",2020-06-18,19.05,449,7,7\n"6608",2020-06-19,20.27,461,8,7\n"6609",2020-06-19,19.75,221,9,7\n"6610",2020-06-12,20.35,362,10,7\n"6611",2020-06-09,20.4,305,11,7\n"6612",2020-06-28,19.23,286,12,7\n"6613",2020-06-03,20.15,297,13,7\n"6614",2020-06-07,19.52,335,14,7\n"6615",2020-06-29,19.28,171,15,7\n"6616",2020-06-07,20.07,326,16,7\n"6617",2020-06-05,19.54,335,17,7\n"6618",2020-06-03,20.1,339,18,7\n"6619",2020-06-25,20.53,333,19,7\n"6620",2020-06-02,20.56,146,20,7\n"6621",2020-06-21,20.72,203,21,7\n"6622",2020-06-20,18.98,337,22,7\n"6623",2020-06-18,19.38,439,23,7\n"6624",2020-06-02,19.04,351,24,7\n"6625",2020-06-24,20.34,788,25,7\n"6626",2020-06-09,20.42,111,26,7\n"6627",2020-06-13,19.75,193,27,7\n"6628",2020-06-29,19.77,443,28,7\n"6629",2020-06-12,20.55,414,29,7\n"6630",2020-06-13,20.7,225,30,7\n"6631",2020-06-01,20.65,378,31,7\n"6632",2020-06-28,19.6,361,32,7\n"6633",2020-06-17,21.3,221,33,7\n"6634",2020-06-18,20.04,259,34,7\n"6635",2020-06-18,19.04,747,35,7\n"6636",2020-06-02,19.88,506,36,7\n"6637",2020-06-27,19.56,484,37,7\n"6638",2020-06-06,20.02,179,38,7\n"6639",2020-06-17,20.07,381,39,7\n"6640",2020-06-12,20.43,293,40,7\n"6641",2020-06-06,20.04,413,41,7\n"6642",2020-06-10,19.86,319,42,7\n"6643",2020-06-26,20.45,173,43,7\n"6644",2020-06-10,20.56,171,44,7\n"6645",2020-06-16,20.35,406,45,7\n"6646",2020-06-13,20.43,158,46,7\n"6647",2020-06-30,19.8,504,47,7\n"6648",2020-06-05,19.47,248,48,7\n"6649",2020-06-17,20.8,264,49,7\n"6650",2020-06-21,20.51,493,50,7\n"6651",2020-06-15,19.63,313,51,7\n"6652",2020-06-18,20.15,1364,52,7\n"6653",2020-06-21,20.47,361,53,7\n"6654",2020-06-08,19.92,119,54,7\n"6655",2020-06-19,19.64,297,55,7\n"6656",2020-06-08,19.64,356,56,7\n"6657",2020-06-11,21.08,381,57,7\n"6658",2020-06-10,18.9,323,58,7\n"6659",2020-06-22,20.4,432,59,7\n"6660",2020-06-26,19.66,470,60,7\n"6661",2020-06-07,19.91,321,61,7\n"6662",2020-06-26,19.62,145,62,7\n"6663",2020-06-01,20.28,682,63,7\n"6664",2020-06-20,19.37,422,64,7\n"6665",2020-06-11,19.09,619,65,7\n"6666",2020-06-07,21.61,385,66,7\n"6667",2020-06-22,20.6,323,67,7\n"6668",2020-06-22,20.23,184,68,7\n"6669",2020-06-24,20.19,481,69,7\n"6670",2020-06-20,19.59,629,70,7\n"6671",2020-06-09,20.12,282,71,7\n"6672",2020-06-30,19.7,263,72,7\n"6673",2020-06-08,20.57,501,73,7\n"6674",2020-06-03,19.33,123,74,7\n"6675",2020-06-27,20.13,539,75,7\n"6676",2020-06-27,19.65,185,76,7\n"6677",2020-06-01,20.31,1297,77,7\n"6678",2020-06-12,19.98,300,78,7\n"6679",2020-06-29,19.38,620,79,7\n"6680",2020-06-17,19.58,214,80,7\n"6681",2020-06-28,20.7,232,81,7\n"6682",2020-06-05,19.98,381,82,7\n"6683",2020-06-08,20.85,436,83,7\n"6684",2020-06-16,20.08,580,84,7\n"6685",2020-06-29,19.38,859,85,7\n"6686",2020-06-25,20.19,191,86,7\n"6687",2020-06-20,19.66,353,87,7\n"6688",2020-06-08,18.76,330,88,7\n"6689",2020-06-18,19.82,365,89,7\n"6690",2020-06-21,20.06,318,90,7\n"6691",2020-06-28,20.62,547,91,7\n"6692",2020-06-03,20.68,618,92,7\n"6693",2020-06-18,20.87,237,93,7\n"6694",2020-06-12,21.17,237,94,7\n"6695",2020-06-18,20.14,325,95,7\n"6696",2020-06-22,20.46,781,96,7\n"6697",2020-06-26,20.4,554,97,7\n"6698",2020-06-05,20.77,396,98,7\n"6699",2020-06-25,19.99,335,99,7\n"6700",2020-06-22,19.51,400,100,7\n"6701",2020-06-14,20.26,147,1,8\n"6702",2020-06-19,19.65,329,2,8\n"6703",2020-06-25,19.72,289,3,8\n"6704",2020-06-10,19.88,442,4,8\n"6705",2020-06-02,19.74,125,5,8\n"6706",2020-06-14,19.74,693,6,8\n"6707",2020-06-18,19.89,94,7,8\n"6708",2020-06-19,19.14,539,8,8\n"6709",2020-06-19,20.72,225,9,8\n"6710",2020-06-12,19.97,137,10,8\n"6711",2020-06-09,19.78,231,11,8\n"6712",2020-06-28,19.97,285,12,8\n"6713",2020-06-03,19.62,225,13,8\n"6714",2020-06-07,20.19,685,14,8\n"6715",2020-06-29,19.55,891,15,8\n"6716",2020-06-07,19.64,599,16,8\n"6717",2020-06-05,19.75,441,17,8\n"6718",2020-06-03,20.19,478,18,8\n"6719",2020-06-25,20.54,247,19,8\n"6720",2020-06-02,20.36,234,20,8\n"6721",2020-06-21,20.35,84,21,8\n"6722",2020-06-20,19.53,183,22,8\n"6723",2020-06-18,20.41,171,23,8\n"6724",2020-06-02,20.16,469,24,8\n"6725",2020-06-24,21.42,556,25,8\n"6726",2020-06-09,20.32,453,26,8\n"6727",2020-06-13,20.38,217,27,8\n"6728",2020-06-29,19.7,240,28,8\n"6729",2020-06-12,20.1,156,29,8\n"6730",2020-06-13,20.61,924,30,8\n"6731",2020-06-01,20.17,571,31,8\n"6732",2020-06-28,19.61,345,32,8\n"6733",2020-06-17,19.11,505,33,8\n"6734",2020-06-18,20.32,448,34,8\n"6735",2020-06-18,20.45,144,35,8\n"6736",2020-06-02,20.23,499,36,8\n"6737",2020-06-27,20.09,273,37,8\n"6738",2020-06-06,20.43,474,38,8\n"6739",2020-06-17,19.38,455,39,8\n"6740",2020-06-12,20.54,327,40,8\n"6741",2020-06-06,20.76,208,41,8\n"6742",2020-06-10,20.72,132,42,8\n"6743",2020-06-26,19.6,250,43,8\n"6744",2020-06-10,20.66,121,44,8\n"6745",2020-06-16,20.9,404,45,8\n"6746",2020-06-13,19.23,317,46,8\n"6747",2020-06-30,20.06,263,47,8\n"6748",2020-06-05,19.55,272,48,8\n"6749",2020-06-17,20.37,422,49,8\n"6750",2020-06-21,20.59,260,50,8\n"6751",2020-06-15,20.55,309,51,8\n"6752",2020-06-18,19.91,312,52,8\n"6753",2020-06-21,19.31,361,53,8\n"6754",2020-06-08,19.61,525,54,8\n"6755",2020-06-19,20.66,454,55,8\n"6756",2020-06-08,20.26,1216,56,8\n"6757",2020-06-11,19.21,224,57,8\n"6758",2020-06-10,20.01,533,58,8\n"6759",2020-06-22,19.88,440,59,8\n"6760",2020-06-26,20.84,577,60,8\n"6761",2020-06-07,19.36,746,61,8\n"6762",2020-06-26,19.45,405,62,8\n"6763",2020-06-01,20.4,213,63,8\n"6764",2020-06-20,19.57,277,64,8\n"6765",2020-06-11,20.79,160,65,8\n"6766",2020-06-07,19.41,271,66,8\n"6767",2020-06-22,20.27,236,67,8\n"6768",2020-06-22,20.71,493,68,8\n"6769",2020-06-24,20.29,204,69,8\n"6770",2020-06-20,19.83,524,70,8\n"6771",2020-06-09,20.77,269,71,8\n"6772",2020-06-30,20.06,206,72,8\n"6773",2020-06-08,20.48,324,73,8\n"6774",2020-06-03,20.3,497,74,8\n"6775",2020-06-27,20.07,301,75,8\n"6776",2020-06-27,19.29,127,76,8\n"6777",2020-06-01,20.37,351,77,8\n"6778",2020-06-12,20.28,568,78,8\n"6779",2020-06-29,20.86,136,79,8\n"6780",2020-06-17,20.94,310,80,8\n"6781",2020-06-28,20.92,271,81,8\n"6782",2020-06-05,21.06,1080,82,8\n"6783",2020-06-08,19.92,175,83,8\n"6784",2020-06-16,22.33,631,84,8\n"6785",2020-06-29,20.6,848,85,8\n"6786",2020-06-25,19.54,360,86,8\n"6787",2020-06-20,19.97,234,87,8\n"6788",2020-06-08,20.34,196,88,8\n"6789",2020-06-18,20.11,544,89,8\n"6790",2020-06-21,20.68,714,90,8\n"6791",2020-06-28,19.45,369,91,8\n"6792",2020-06-03,19.72,605,92,8\n"6793",2020-06-18,19.73,332,93,8\n"6794",2020-06-12,20.67,269,94,8\n"6795",2020-06-18,20.21,513,95,8\n"6796",2020-06-22,19.81,294,96,8\n"6797",2020-06-26,19.73,84,97,8\n"6798",2020-06-05,19.81,178,98,8\n"6799",2020-06-25,19.55,214,99,8\n"6800",2020-06-22,19.48,347,100,8\n"6801",2020-06-14,21.02,495,1,9\n"6802",2020-06-19,19.15,333,2,9\n"6803",2020-06-25,20.59,500,3,9\n"6804",2020-06-10,19.07,885,4,9\n"6805",2020-06-02,19.64,244,5,9\n"6806",2020-06-14,20.96,710,6,9\n"6807",2020-06-18,19.93,722,7,9\n"6808",2020-06-19,19.19,419,8,9\n"6809",2020-06-19,20.21,649,9,9\n"6810",2020-06-12,19.36,532,10,9\n"6811",2020-06-09,19.59,337,11,9\n"6812",2020-06-28,20.81,220,12,9\n"6813",2020-06-03,20.88,156,13,9\n"6814",2020-06-07,20.95,303,14,9\n"6815",2020-06-29,19.87,331,15,9\n"6816",2020-06-07,20.99,228,16,9\n"6817",2020-06-05,20.58,381,17,9\n"6818",2020-06-03,21.82,317,18,9\n"6819",2020-06-25,20.18,286,19,9\n"6820",2020-06-02,19.53,252,20,9\n"6821",2020-06-21,20.49,291,21,9\n"6822",2020-06-20,21.05,489,22,9\n"6823",2020-06-18,19.94,524,23,9\n"6824",2020-06-02,19.93,311,24,9\n"6825",2020-06-24,19.94,858,25,9\n"6826",2020-06-09,19.67,341,26,9\n"6827",2020-06-13,19.2,524,27,9\n"6828",2020-06-29,19.83,291,28,9\n"6829",2020-06-12,20.01,421,29,9\n"6830",2020-06-13,19.04,332,30,9\n"6831",2020-06-01,19.84,317,31,9\n"6832",2020-06-28,19.18,337,32,9\n"6833",2020-06-17,20.58,463,33,9\n"6834",2020-06-18,19.7,199,34,9\n"6835",2020-06-18,19.11,613,35,9\n"6836",2020-06-02,18.88,374,36,9\n"6837",2020-06-27,20.12,428,37,9\n"6838",2020-06-06,19.33,220,38,9\n"6839",2020-06-17,19.74,936,39,9\n"6840",2020-06-12,19.62,351,40,9\n"6841",2020-06-06,18.48,310,41,9\n"6842",2020-06-10,20.61,162,42,9\n"6843",2020-06-26,20.33,142,43,9\n"6844",2020-06-10,19.67,537,44,9\n"6845",2020-06-16,19.64,414,45,9\n"6846",2020-06-13,20.11,226,46,9\n"6847",2020-06-30,19.94,166,47,9\n"6848",2020-06-05,20.69,359,48,9\n"6849",2020-06-17,20.15,145,49,9\n"6850",2020-06-21,19.18,442,50,9\n"6851",2020-06-15,19.59,277,51,9\n"6852",2020-06-18,19.7,244,52,9\n"6853",2020-06-21,19.56,544,53,9\n"6854",2020-06-08,20.08,255,54,9\n"6855",2020-06-19,19.7,319,55,9\n"6856",2020-06-08,19.27,362,56,9\n"6857",2020-06-11,20.09,222,57,9\n"6858",2020-06-10,18.98,146,58,9\n"6859",2020-06-22,20.05,262,59,9\n"6860",2020-06-26,20.13,243,60,9\n"6861",2020-06-07,20.14,694,61,9\n"6862",2020-06-26,20.13,414,62,9\n"6863",2020-06-01,20.18,412,63,9\n"6864",2020-06-20,20.16,258,64,9\n"6865",2020-06-11,19.72,517,65,9\n"6866",2020-06-07,20.49,339,66,9\n"6867",2020-06-22,20.03,716,67,9\n"6868",2020-06-22,19.93,695,68,9\n"6869",2020-06-24,19.96,318,69,9\n"6870",2020-06-20,19.1,388,70,9\n"6871",2020-06-09,20.93,378,71,9\n"6872",2020-06-30,20.74,420,72,9\n"6873",2020-06-08,19.56,134,73,9\n"6874",2020-06-03,20.39,375,74,9\n"6875",2020-06-27,19.12,177,75,9\n"6876",2020-06-27,20.95,204,76,9\n"6877",2020-06-01,20.58,444,77,9\n"6878",2020-06-12,20.22,474,78,9\n"6879",2020-06-29,19.94,804,79,9\n"6880",2020-06-17,19.89,1031,80,9\n"6881",2020-06-28,20.19,401,81,9\n"6882",2020-06-05,19.59,600,82,9\n"6883",2020-06-08,20.8,294,83,9\n"6884",2020-06-16,20.31,384,84,9\n"6885",2020-06-29,20.49,464,85,9\n"6886",2020-06-25,19.77,651,86,9\n"6887",2020-06-20,19.88,208,87,9\n"6888",2020-06-08,20.36,419,88,9\n"6889",2020-06-18,19.56,422,89,9\n"6890",2020-06-21,19.17,414,90,9\n"6891",2020-06-28,19.68,571,91,9\n"6892",2020-06-03,20.38,517,92,9\n"6893",2020-06-18,20.09,446,93,9\n"6894",2020-06-12,19.9,723,94,9\n"6895",2020-06-18,19.95,343,95,9\n"6896",2020-06-22,20.11,385,96,9\n"6897",2020-06-26,20.57,425,97,9\n"6898",2020-06-05,20.45,123,98,9\n"6899",2020-06-25,19.78,230,99,9\n"6900",2020-06-22,19.97,423,100,9\n"6901",2020-06-14,19.92,378,1,10\n"6902",2020-06-19,19.83,358,2,10\n"6903",2020-06-25,19.77,333,3,10\n"6904",2020-06-10,19.52,434,4,10\n"6905",2020-06-02,19.97,192,5,10\n"6906",2020-06-14,19.75,476,6,10\n"6907",2020-06-18,19.39,720,7,10\n"6908",2020-06-19,19.13,610,8,10\n"6909",2020-06-19,20.07,321,9,10\n"6910",2020-06-12,20.03,539,10,10\n"6911",2020-06-09,19.97,205,11,10\n"6912",2020-06-28,20.56,347,12,10\n"6913",2020-06-03,19.82,800,13,10\n"6914",2020-06-07,20.06,595,14,10\n"6915",2020-06-29,20.21,592,15,10\n"6916",2020-06-07,19.42,323,16,10\n"6917",2020-06-05,19.94,204,17,10\n"6918",2020-06-03,20.59,327,18,10\n"6919",2020-06-25,19.57,258,19,10\n"6920",2020-06-02,21.12,494,20,10\n"6921",2020-06-21,21.42,834,21,10\n"6922",2020-06-20,19.91,416,22,10\n"6923",2020-06-18,19.77,163,23,10\n"6924",2020-06-02,19.1,277,24,10\n"6925",2020-06-24,20.07,184,25,10\n"6926",2020-06-09,20.1,433,26,10\n"6927",2020-06-13,20.3,437,27,10\n"6928",2020-06-29,19.91,414,28,10\n"6929",2020-06-12,19.33,849,29,10\n"6930",2020-06-13,20.21,815,30,10\n"6931",2020-06-01,20.28,281,31,10\n"6932",2020-06-28,19.58,296,32,10\n"6933",2020-06-17,20.02,911,33,10\n"6934",2020-06-18,20,459,34,10\n"6935",2020-06-18,20.13,140,35,10\n"6936",2020-06-02,20.98,326,36,10\n"6937",2020-06-27,19.58,1072,37,10\n"6938",2020-06-06,19.65,376,38,10\n"6939",2020-06-17,20.21,711,39,10\n"6940",2020-06-12,20.43,870,40,10\n"6941",2020-06-06,19.82,344,41,10\n"6942",2020-06-10,20.56,210,42,10\n"6943",2020-06-26,19.99,486,43,10\n"6944",2020-06-10,20.15,970,44,10\n"6945",2020-06-16,19.9,1075,45,10\n"6946",2020-06-13,20.42,426,46,10\n"6947",2020-06-30,20.94,393,47,10\n"6948",2020-06-05,20.26,324,48,10\n"6949",2020-06-17,19.88,518,49,10\n"6950",2020-06-21,19.05,366,50,10\n"6951",2020-06-15,20.46,318,51,10\n"6952",2020-06-18,19.84,230,52,10\n"6953",2020-06-21,19.37,126,53,10\n"6954",2020-06-08,20.16,229,54,10\n"6955",2020-06-19,19.37,353,55,10\n"6956",2020-06-08,21.33,313,56,10\n"6957",2020-06-11,20.96,269,57,10\n"6958",2020-06-10,20.58,241,58,10\n"6959",2020-06-22,20.68,320,59,10\n"6960",2020-06-26,19.52,470,60,10\n"6961",2020-06-07,20.01,206,61,10\n"6962",2020-06-26,20.05,550,62,10\n"6963",2020-06-01,20.68,220,63,10\n"6964",2020-06-20,21.01,500,64,10\n"6965",2020-06-11,20.41,387,65,10\n"6966",2020-06-07,19.85,186,66,10\n"6967",2020-06-22,20.71,349,67,10\n"6968",2020-06-22,19.79,156,68,10\n"6969",2020-06-24,19.91,365,69,10\n"6970",2020-06-20,20.73,160,70,10\n"6971",2020-06-09,19.53,290,71,10\n"6972",2020-06-30,20.63,457,72,10\n"6973",2020-06-08,19.28,425,73,10\n"6974",2020-06-03,19.75,521,74,10\n"6975",2020-06-27,19.81,326,75,10\n"6976",2020-06-27,19.51,417,76,10\n"6977",2020-06-01,19.44,322,77,10\n"6978",2020-06-12,20.48,333,78,10\n"6979",2020-06-29,18.88,346,79,10\n"6980",2020-06-17,20.95,476,80,10\n"6981",2020-06-28,19.91,1031,81,10\n"6982",2020-06-05,19.43,240,82,10\n"6983",2020-06-08,19.76,381,83,10\n"6984",2020-06-16,18.69,234,84,10\n"6985",2020-06-29,19.18,641,85,10\n"6986",2020-06-25,19.1,323,86,10\n"6987",2020-06-20,19.65,181,87,10\n"6988",2020-06-08,20.89,329,88,10\n"6989",2020-06-18,19.16,139,89,10\n"6990",2020-06-21,20.56,438,90,10\n"6991",2020-06-28,19.64,315,91,10\n"6992",2020-06-03,19.42,234,92,10\n"6993",2020-06-18,19.99,348,93,10\n"6994",2020-06-12,21.07,220,94,10\n"6995",2020-06-18,20.53,323,95,10\n"6996",2020-06-22,20.63,486,96,10\n"6997",2020-06-26,19.66,335,97,10\n"6998",2020-06-05,19.69,174,98,10\n"6999",2020-06-25,19.97,368,99,10\n"7000",2020-06-22,20.62,511,100,10\n"7001",2020-07-11,20.01,199,1,1\n"7002",2020-07-08,20.62,378,2,1\n"7003",2020-07-07,21,784,3,1\n"7004",2020-07-16,21.17,206,4,1\n"7005",2020-07-08,22.06,201,5,1\n"7006",2020-07-01,20.1,520,6,1\n"7007",2020-07-13,21.47,277,7,1\n"7008",2020-07-15,22.76,471,8,1\n"7009",2020-07-16,20.65,246,9,1\n"7010",2020-07-02,21.05,633,10,1\n"7011",2020-07-24,20.97,826,11,1\n"7012",2020-07-21,22.17,299,12,1\n"7013",2020-07-18,20.73,278,13,1\n"7014",2020-07-10,21.08,325,14,1\n"7015",2020-07-26,21.36,617,15,1\n"7016",2020-07-18,22.12,580,16,1\n"7017",2020-07-17,20.41,365,17,1\n"7018",2020-07-15,21.31,73,18,1\n"7019",2020-07-02,20.49,294,19,1\n"7020",2020-07-29,19.97,251,20,1\n"7021",2020-07-03,22.04,230,21,1\n"7022",2020-07-02,21.39,277,22,1\n"7023",2020-07-07,23.13,522,23,1\n"7024",2020-07-28,20.26,337,24,1\n"7025",2020-07-14,19.59,216,25,1\n"7026",2020-07-16,21.09,203,26,1\n"7027",2020-07-31,20.68,178,27,1\n"7028",2020-07-08,21.28,217,28,1\n"7029",2020-07-15,21.44,477,29,1\n"7030",2020-07-03,21.28,307,30,1\n"7031",2020-07-28,21.76,612,31,1\n"7032",2020-07-05,22.21,744,32,1\n"7033",2020-07-15,20.29,171,33,1\n"7034",2020-07-19,20.68,311,34,1\n"7035",2020-07-26,21.12,529,35,1\n"7036",2020-07-20,21.09,323,36,1\n"7037",2020-07-24,21.26,90,37,1\n"7038",2020-07-29,21.04,752,38,1\n"7039",2020-07-14,21.66,618,39,1\n"7040",2020-07-14,20.68,322,40,1\n"7041",2020-07-05,21.43,285,41,1\n"7042",2020-07-30,21.24,132,42,1\n"7043",2020-07-04,21.34,582,43,1\n"7044",2020-07-16,21.22,632,44,1\n"7045",2020-07-30,20.76,169,45,1\n"7046",2020-07-27,20.45,120,46,1\n"7047",2020-07-15,20.5,272,47,1\n"7048",2020-07-08,20.39,254,48,1\n"7049",2020-07-30,20.73,206,49,1\n"7050",2020-07-11,20.83,144,50,1\n"7051",2020-07-10,21.33,532,51,1\n"7052",2020-07-23,19.84,313,52,1\n"7053",2020-07-03,19.66,234,53,1\n"7054",2020-07-16,21.33,163,54,1\n"7055",2020-07-31,19.88,200,55,1\n"7056",2020-07-22,20.16,395,56,1\n"7057",2020-07-22,22.87,364,57,1\n"7058",2020-07-06,20.66,386,58,1\n"7059",2020-07-25,22.4,627,59,1\n"7060",2020-07-29,21.21,131,60,1\n"7061",2020-07-27,20.89,207,61,1\n"7062",2020-07-15,21.49,352,62,1\n"7063",2020-07-13,22.2,202,63,1\n"7064",2020-07-11,21.55,223,64,1\n"7065",2020-07-17,21.86,82,65,1\n"7066",2020-07-31,20.79,201,66,1\n"7067",2020-07-08,20.65,194,67,1\n"7068",2020-07-22,20.55,144,68,1\n"7069",2020-07-27,20.12,326,69,1\n"7070",2020-07-01,22.42,446,70,1\n"7071",2020-07-19,20.66,380,71,1\n"7072",2020-07-26,20.97,293,72,1\n"7073",2020-07-22,22.72,460,73,1\n"7074",2020-07-24,20.66,285,74,1\n"7075",2020-07-11,21.82,241,75,1\n"7076",2020-07-17,21,634,76,1\n"7077",2020-07-11,20.91,648,77,1\n"7078",2020-07-14,20.65,320,78,1\n"7079",2020-07-05,19.99,544,79,1\n"7080",2020-07-12,20.88,719,80,1\n"7081",2020-07-23,20.76,240,81,1\n"7082",2020-07-11,20.72,370,82,1\n"7083",2020-07-22,21.41,152,83,1\n"7084",2020-07-15,20.94,414,84,1\n"7085",2020-07-09,21.4,333,85,1\n"7086",2020-07-04,20.57,304,86,1\n"7087",2020-07-27,21.33,391,87,1\n"7088",2020-07-18,21.69,291,88,1\n"7089",2020-07-05,22.06,294,89,1\n"7090",2020-07-20,21.48,319,90,1\n"7091",2020-07-23,21.69,218,91,1\n"7092",2020-07-21,20.96,155,92,1\n"7093",2020-07-19,21.39,207,93,1\n"7094",2020-07-14,21.86,503,94,1\n"7095",2020-07-06,19.98,267,95,1\n"7096",2020-07-09,20.88,298,96,1\n"7097",2020-07-20,20.97,306,97,1\n"7098",2020-07-25,21.28,99,98,1\n"7099",2020-07-06,20.36,152,99,1\n"7100",2020-07-25,21.79,193,100,1\n"7101",2020-07-11,19.95,519,1,2\n"7102",2020-07-08,20.9,335,2,2\n"7103",2020-07-07,20.05,312,3,2\n"7104",2020-07-16,20.21,141,4,2\n"7105",2020-07-08,20.89,301,5,2\n"7106",2020-07-01,20.67,274,6,2\n"7107",2020-07-13,21.7,536,7,2\n"7108",2020-07-15,20.1,225,8,2\n"7109",2020-07-16,21.93,261,9,2\n"7110",2020-07-02,20.56,126,10,2\n"7111",2020-07-24,21.61,230,11,2\n"7112",2020-07-21,21.07,594,12,2\n"7113",2020-07-18,21.16,60,13,2\n"7114",2020-07-10,20.22,344,14,2\n"7115",2020-07-26,20.88,239,15,2\n"7116",2020-07-18,21.94,515,16,2\n"7117",2020-07-17,20.97,241,17,2\n"7118",2020-07-15,21.31,601,18,2\n"7119",2020-07-02,21.99,248,19,2\n"7120",2020-07-29,21.91,96,20,2\n"7121",2020-07-03,21.02,837,21,2\n"7122",2020-07-02,22.02,322,22,2\n"7123",2020-07-07,21.71,353,23,2\n"7124",2020-07-28,21.34,245,24,2\n"7125",2020-07-14,20.69,644,25,2\n"7126",2020-07-16,20.98,224,26,2\n"7127",2020-07-31,21.5,293,27,2\n"7128",2020-07-08,20.53,523,28,2\n"7129",2020-07-15,20.63,1021,29,2\n"7130",2020-07-03,21.13,136,30,2\n"7131",2020-07-28,21.52,498,31,2\n"7132",2020-07-05,21.45,384,32,2\n"7133",2020-07-15,21.4,398,33,2\n"7134",2020-07-19,19.95,292,34,2\n"7135",2020-07-26,21.62,429,35,2\n"7136",2020-07-20,20.44,151,36,2\n"7137",2020-07-24,22.51,138,37,2\n"7138",2020-07-29,21.61,273,38,2\n"7139",2020-07-14,20.79,694,39,2\n"7140",2020-07-14,20.26,209,40,2\n"7141",2020-07-05,21.77,220,41,2\n"7142",2020-07-30,20.88,161,42,2\n"7143",2020-07-04,21.33,196,43,2\n"7144",2020-07-16,22.11,67,44,2\n"7145",2020-07-30,21.06,587,45,2\n"7146",2020-07-27,20.5,306,46,2\n"7147",2020-07-15,20.97,230,47,2\n"7148",2020-07-08,20.17,137,48,2\n"7149",2020-07-30,21.05,310,49,2\n"7150",2020-07-11,21.21,495,50,2\n"7151",2020-07-10,21.28,157,51,2\n"7152",2020-07-23,20.61,262,52,2\n"7153",2020-07-03,20.85,452,53,2\n"7154",2020-07-16,21.04,517,54,2\n"7155",2020-07-31,21.09,1155,55,2\n"7156",2020-07-22,20.1,670,56,2\n"7157",2020-07-22,20.43,307,57,2\n"7158",2020-07-06,20.5,361,58,2\n"7159",2020-07-25,21.1,169,59,2\n"7160",2020-07-29,21.11,328,60,2\n"7161",2020-07-27,21.5,246,61,2\n"7162",2020-07-15,21.11,422,62,2\n"7163",2020-07-13,20.82,166,63,2\n"7164",2020-07-11,20.22,359,64,2\n"7165",2020-07-17,20.5,161,65,2\n"7166",2020-07-31,21.44,250,66,2\n"7167",2020-07-08,21.72,333,67,2\n"7168",2020-07-22,20.97,630,68,2\n"7169",2020-07-27,21.53,120,69,2\n"7170",2020-07-01,20.78,282,70,2\n"7171",2020-07-19,21.18,268,71,2\n"7172",2020-07-26,22.39,477,72,2\n"7173",2020-07-22,20.61,335,73,2\n"7174",2020-07-24,20.33,356,74,2\n"7175",2020-07-11,19.84,294,75,2\n"7176",2020-07-17,21.04,183,76,2\n"7177",2020-07-11,20.85,208,77,2\n"7178",2020-07-14,21.16,456,78,2\n"7179",2020-07-05,20.22,235,79,2\n"7180",2020-07-12,21.01,321,80,2\n"7181",2020-07-23,21.46,809,81,2\n"7182",2020-07-11,19.78,416,82,2\n"7183",2020-07-22,20.42,431,83,2\n"7184",2020-07-15,20.23,72,84,2\n"7185",2020-07-09,20.69,332,85,2\n"7186",2020-07-04,21.7,179,86,2\n"7187",2020-07-27,21.04,243,87,2\n"7188",2020-07-18,22.82,122,88,2\n"7189",2020-07-05,21.61,716,89,2\n"7190",2020-07-20,20.57,614,90,2\n"7191",2020-07-23,20.55,212,91,2\n"7192",2020-07-21,20.77,210,92,2\n"7193",2020-07-19,21.7,411,93,2\n"7194",2020-07-14,20.28,141,94,2\n"7195",2020-07-06,20.51,363,95,2\n"7196",2020-07-09,21.41,395,96,2\n"7197",2020-07-20,20.18,371,97,2\n"7198",2020-07-25,19.9,324,98,2\n"7199",2020-07-06,21.45,100,99,2\n"7200",2020-07-25,22.54,361,100,2\n"7201",2020-07-11,21.37,617,1,3\n"7202",2020-07-08,21.33,404,2,3\n"7203",2020-07-07,20.12,555,3,3\n"7204",2020-07-16,20.46,605,4,3\n"7205",2020-07-08,21.73,643,5,3\n"7206",2020-07-01,20.72,253,6,3\n"7207",2020-07-13,21.25,234,7,3\n"7208",2020-07-15,20.59,244,8,3\n"7209",2020-07-16,20.66,629,9,3\n"7210",2020-07-02,22.09,382,10,3\n"7211",2020-07-24,21.06,288,11,3\n"7212",2020-07-21,20.68,334,12,3\n"7213",2020-07-18,19.69,186,13,3\n"7214",2020-07-10,21.95,276,14,3\n"7215",2020-07-26,21.11,173,15,3\n"7216",2020-07-18,22.05,970,16,3\n"7217",2020-07-17,21.72,297,17,3\n"7218",2020-07-15,22.92,405,18,3\n"7219",2020-07-02,21.19,622,19,3\n"7220",2020-07-29,21.04,543,20,3\n"7221",2020-07-03,20.63,616,21,3\n"7222",2020-07-02,21.02,450,22,3\n"7223",2020-07-07,20.52,120,23,3\n"7224",2020-07-28,22.26,284,24,3\n"7225",2020-07-14,20.69,370,25,3\n"7226",2020-07-16,19.78,220,26,3\n"7227",2020-07-31,20.17,278,27,3\n"7228",2020-07-08,20.72,412,28,3\n"7229",2020-07-15,21.9,191,29,3\n"7230",2020-07-03,20.44,173,30,3\n"7231",2020-07-28,19.72,459,31,3\n"7232",2020-07-05,20.84,226,32,3\n"7233",2020-07-15,20.84,959,33,3\n"7234",2020-07-19,20.54,355,34,3\n"7235",2020-07-26,21.44,665,35,3\n"7236",2020-07-20,20.85,184,36,3\n"7237",2020-07-24,20.53,127,37,3\n"7238",2020-07-29,21.81,262,38,3\n"7239",2020-07-14,20.42,428,39,3\n"7240",2020-07-14,21.53,2459,40,3\n"7241",2020-07-05,21.86,331,41,3\n"7242",2020-07-30,21.56,876,42,3\n"7243",2020-07-04,21.1,203,43,3\n"7244",2020-07-16,21.35,318,44,3\n"7245",2020-07-30,21.35,305,45,3\n"7246",2020-07-27,21.65,747,46,3\n"7247",2020-07-15,20.69,191,47,3\n"7248",2020-07-08,20.51,486,48,3\n"7249",2020-07-30,20.05,207,49,3\n"7250",2020-07-11,20.79,240,50,3\n"7251",2020-07-10,21.42,124,51,3\n"7252",2020-07-23,21.17,354,52,3\n"7253",2020-07-03,20.81,477,53,3\n"7254",2020-07-16,21.56,752,54,3\n"7255",2020-07-31,21.69,130,55,3\n"7256",2020-07-22,20.72,228,56,3\n"7257",2020-07-22,21.97,310,57,3\n"7258",2020-07-06,20.38,292,58,3\n"7259",2020-07-25,21.02,423,59,3\n"7260",2020-07-29,21.89,323,60,3\n"7261",2020-07-27,20.18,635,61,3\n"7262",2020-07-15,21.76,361,62,3\n"7263",2020-07-13,21.18,424,63,3\n"7264",2020-07-11,21.17,721,64,3\n"7265",2020-07-17,20.68,344,65,3\n"7266",2020-07-31,21.14,226,66,3\n"7267",2020-07-08,20.66,238,67,3\n"7268",2020-07-22,21.97,747,68,3\n"7269",2020-07-27,20.84,324,69,3\n"7270",2020-07-01,19.78,239,70,3\n"7271",2020-07-19,21.29,314,71,3\n"7272",2020-07-26,20.82,272,72,3\n"7273",2020-07-22,21.43,167,73,3\n"7274",2020-07-24,20.51,149,74,3\n"7275",2020-07-11,20.1,202,75,3\n"7276",2020-07-17,21.42,434,76,3\n"7277",2020-07-11,21.17,373,77,3\n"7278",2020-07-14,20.11,331,78,3\n"7279",2020-07-05,20.3,309,79,3\n"7280",2020-07-12,20.58,604,80,3\n"7281",2020-07-23,21.22,1121,81,3\n"7282",2020-07-11,20.12,295,82,3\n"7283",2020-07-22,19.66,164,83,3\n"7284",2020-07-15,21.25,520,84,3\n"7285",2020-07-09,21.2,144,85,3\n"7286",2020-07-04,21.22,167,86,3\n"7287",2020-07-27,21.9,725,87,3\n"7288",2020-07-18,20.74,245,88,3\n"7289",2020-07-05,20.77,331,89,3\n"7290",2020-07-20,20.88,267,90,3\n"7291",2020-07-23,22.08,611,91,3\n"7292",2020-07-21,20.77,349,92,3\n"7293",2020-07-19,21.34,164,93,3\n"7294",2020-07-14,22.05,410,94,3\n"7295",2020-07-06,20.61,334,95,3\n"7296",2020-07-09,21.43,96,96,3\n"7297",2020-07-20,20.33,239,97,3\n"7298",2020-07-25,19.96,862,98,3\n"7299",2020-07-06,20.91,334,99,3\n"7300",2020-07-25,21.52,217,100,3\n"7301",2020-07-11,20.7,292,1,4\n"7302",2020-07-08,20.9,506,2,4\n"7303",2020-07-07,21.18,998,3,4\n"7304",2020-07-16,21.3,652,4,4\n"7305",2020-07-08,20.14,350,5,4\n"7306",2020-07-01,20.14,391,6,4\n"7307",2020-07-13,20.3,345,7,4\n"7308",2020-07-15,21.13,686,8,4\n"7309",2020-07-16,20.02,1040,9,4\n"7310",2020-07-02,19.71,344,10,4\n"7311",2020-07-24,22.65,530,11,4\n"7312",2020-07-21,21.4,283,12,4\n"7313",2020-07-18,20.07,90,13,4\n"7314",2020-07-10,21.7,342,14,4\n"7315",2020-07-26,21.07,424,15,4\n"7316",2020-07-18,20.63,628,16,4\n"7317",2020-07-17,20.43,147,17,4\n"7318",2020-07-15,21.17,243,18,4\n"7319",2020-07-02,20.59,329,19,4\n"7320",2020-07-29,20.61,266,20,4\n"7321",2020-07-03,20.87,295,21,4\n"7322",2020-07-02,21.71,575,22,4\n"7323",2020-07-07,20.58,328,23,4\n"7324",2020-07-28,21.31,520,24,4\n"7325",2020-07-14,20.9,267,25,4\n"7326",2020-07-16,20.91,404,26,4\n"7327",2020-07-31,20.73,341,27,4\n"7328",2020-07-08,20.25,1084,28,4\n"7329",2020-07-15,21.17,123,29,4\n"7330",2020-07-03,20.68,513,30,4\n"7331",2020-07-28,20.28,212,31,4\n"7332",2020-07-05,21.24,431,32,4\n"7333",2020-07-15,21.44,644,33,4\n"7334",2020-07-19,19.96,231,34,4\n"7335",2020-07-26,20.72,207,35,4\n"7336",2020-07-20,20.6,571,36,4\n"7337",2020-07-24,21.08,119,37,4\n"7338",2020-07-29,20.31,586,38,4\n"7339",2020-07-14,21.38,154,39,4\n"7340",2020-07-14,21.28,518,40,4\n"7341",2020-07-05,21.23,202,41,4\n"7342",2020-07-30,20.37,431,42,4\n"7343",2020-07-04,21.89,109,43,4\n"7344",2020-07-16,21.53,337,44,4\n"7345",2020-07-30,21.68,333,45,4\n"7346",2020-07-27,21.31,277,46,4\n"7347",2020-07-15,21.17,493,47,4\n"7348",2020-07-08,21.38,141,48,4\n"7349",2020-07-30,22.23,283,49,4\n"7350",2020-07-11,20.13,339,50,4\n"7351",2020-07-10,20.56,297,51,4\n"7352",2020-07-23,21.87,172,52,4\n"7353",2020-07-03,21.27,200,53,4\n"7354",2020-07-16,20.53,184,54,4\n"7355",2020-07-31,21.62,371,55,4\n"7356",2020-07-22,21.59,103,56,4\n"7357",2020-07-22,20.7,452,57,4\n"7358",2020-07-06,21.03,125,58,4\n"7359",2020-07-25,21.66,314,59,4\n"7360",2020-07-29,21.01,499,60,4\n"7361",2020-07-27,21.7,755,61,4\n"7362",2020-07-15,21.26,295,62,4\n"7363",2020-07-13,20.89,182,63,4\n"7364",2020-07-11,19.94,92,64,4\n"7365",2020-07-17,20.2,142,65,4\n"7366",2020-07-31,20.38,410,66,4\n"7367",2020-07-08,20.62,326,67,4\n"7368",2020-07-22,20.5,426,68,4\n"7369",2020-07-27,21.74,171,69,4\n"7370",2020-07-01,21.64,226,70,4\n"7371",2020-07-19,20.84,161,71,4\n"7372",2020-07-26,20.53,424,72,4\n"7373",2020-07-22,20.24,385,73,4\n"7374",2020-07-24,20.09,239,74,4\n"7375",2020-07-11,22.15,336,75,4\n"7376",2020-07-17,21.69,192,76,4\n"7377",2020-07-11,21.73,1014,77,4\n"7378",2020-07-14,20.59,428,78,4\n"7379",2020-07-05,19.74,482,79,4\n"7380",2020-07-12,21.94,334,80,4\n"7381",2020-07-23,21.02,146,81,4\n"7382",2020-07-11,20.47,340,82,4\n"7383",2020-07-22,20.17,452,83,4\n"7384",2020-07-15,21.95,382,84,4\n"7385",2020-07-09,20.6,201,85,4\n"7386",2020-07-04,20.62,329,86,4\n"7387",2020-07-27,20.4,279,87,4\n"7388",2020-07-18,21.62,274,88,4\n"7389",2020-07-05,20.95,581,89,4\n"7390",2020-07-20,20.18,81,90,4\n"7391",2020-07-23,21.19,278,91,4\n"7392",2020-07-21,20.63,611,92,4\n"7393",2020-07-19,21.35,555,93,4\n"7394",2020-07-14,20.53,685,94,4\n"7395",2020-07-06,22.11,323,95,4\n"7396",2020-07-09,19.96,702,96,4\n"7397",2020-07-20,20.91,338,97,4\n"7398",2020-07-25,20.54,623,98,4\n"7399",2020-07-06,20.84,337,99,4\n"7400",2020-07-25,20.41,193,100,4\n"7401",2020-07-11,21.61,281,1,5\n"7402",2020-07-08,21.01,513,2,5\n"7403",2020-07-07,21.08,375,3,5\n"7404",2020-07-16,20.46,133,4,5\n"7405",2020-07-08,21.19,234,5,5\n"7406",2020-07-01,20.99,382,6,5\n"7407",2020-07-13,20.33,497,7,5\n"7408",2020-07-15,22.59,584,8,5\n"7409",2020-07-16,20.44,156,9,5\n"7410",2020-07-02,21.09,496,10,5\n"7411",2020-07-24,21.34,275,11,5\n"7412",2020-07-21,21.54,572,12,5\n"7413",2020-07-18,21.54,340,13,5\n"7414",2020-07-10,20.73,275,14,5\n"7415",2020-07-26,20.45,409,15,5\n"7416",2020-07-18,21.82,99,16,5\n"7417",2020-07-17,21.09,309,17,5\n"7418",2020-07-15,20.12,222,18,5\n"7419",2020-07-02,21.4,983,19,5\n"7420",2020-07-29,21.24,220,20,5\n"7421",2020-07-03,21.43,146,21,5\n"7422",2020-07-02,20.75,314,22,5\n"7423",2020-07-07,21.06,126,23,5\n"7424",2020-07-28,22.41,268,24,5\n"7425",2020-07-14,21.36,1012,25,5\n"7426",2020-07-16,21.57,177,26,5\n"7427",2020-07-31,21.87,183,27,5\n"7428",2020-07-08,19.81,264,28,5\n"7429",2020-07-15,19.72,354,29,5\n"7430",2020-07-03,21.14,644,30,5\n"7431",2020-07-28,21.69,1249,31,5\n"7432",2020-07-05,21.01,366,32,5\n"7433",2020-07-15,21.02,535,33,5\n"7434",2020-07-19,20.53,318,34,5\n"7435",2020-07-26,22.37,209,35,5\n"7436",2020-07-20,22.22,370,36,5\n"7437",2020-07-24,21.21,231,37,5\n"7438",2020-07-29,20.66,883,38,5\n"7439",2020-07-14,21.7,384,39,5\n"7440",2020-07-14,20.87,258,40,5\n"7441",2020-07-05,20.66,168,41,5\n"7442",2020-07-30,20.69,342,42,5\n"7443",2020-07-04,20.04,431,43,5\n"7444",2020-07-16,19.7,305,44,5\n"7445",2020-07-30,21.48,252,45,5\n"7446",2020-07-27,21.14,349,46,5\n"7447",2020-07-15,21.11,758,47,5\n"7448",2020-07-08,21.66,249,48,5\n"7449",2020-07-30,22.94,339,49,5\n"7450",2020-07-11,21.36,698,50,5\n"7451",2020-07-10,20.63,168,51,5\n"7452",2020-07-23,21.16,121,52,5\n"7453",2020-07-03,21.05,372,53,5\n"7454",2020-07-16,20.46,365,54,5\n"7455",2020-07-31,20.71,430,55,5\n"7456",2020-07-22,21.02,190,56,5\n"7457",2020-07-22,21.77,786,57,5\n"7458",2020-07-06,20.78,418,58,5\n"7459",2020-07-25,21.09,399,59,5\n"7460",2020-07-29,20.86,296,60,5\n"7461",2020-07-27,20.91,163,61,5\n"7462",2020-07-15,21.26,234,62,5\n"7463",2020-07-13,19.57,174,63,5\n"7464",2020-07-11,20.53,574,64,5\n"7465",2020-07-17,21.5,513,65,5\n"7466",2020-07-31,20.42,934,66,5\n"7467",2020-07-08,21.59,563,67,5\n"7468",2020-07-22,20.5,490,68,5\n"7469",2020-07-27,21.95,286,69,5\n"7470",2020-07-01,21.09,286,70,5\n"7471",2020-07-19,21.86,467,71,5\n"7472",2020-07-26,20.85,177,72,5\n"7473",2020-07-22,20.41,542,73,5\n"7474",2020-07-24,21.43,332,74,5\n"7475",2020-07-11,20.18,298,75,5\n"7476",2020-07-17,22.14,222,76,5\n"7477",2020-07-11,20.71,188,77,5\n"7478",2020-07-14,20.37,535,78,5\n"7479",2020-07-05,21.72,687,79,5\n"7480",2020-07-12,21.05,384,80,5\n"7481",2020-07-23,20.94,203,81,5\n"7482",2020-07-11,21.53,669,82,5\n"7483",2020-07-22,20.64,127,83,5\n"7484",2020-07-15,21.45,714,84,5\n"7485",2020-07-09,20.57,407,85,5\n"7486",2020-07-04,19.85,505,86,5\n"7487",2020-07-27,20.84,203,87,5\n"7488",2020-07-18,20.25,169,88,5\n"7489",2020-07-05,21.77,306,89,5\n"7490",2020-07-20,20.74,436,90,5\n"7491",2020-07-23,20.79,563,91,5\n"7492",2020-07-21,21.14,355,92,5\n"7493",2020-07-19,20.42,883,93,5\n"7494",2020-07-14,20.62,122,94,5\n"7495",2020-07-06,20.93,351,95,5\n"7496",2020-07-09,20.52,751,96,5\n"7497",2020-07-20,22,605,97,5\n"7498",2020-07-25,20.38,481,98,5\n"7499",2020-07-06,20.85,153,99,5\n"7500",2020-07-25,21.38,131,100,5\n"7501",2020-07-11,20.22,299,1,6\n"7502",2020-07-08,21.35,193,2,6\n"7503",2020-07-07,22.47,259,3,6\n"7504",2020-07-16,20.42,495,4,6\n"7505",2020-07-08,21.53,164,5,6\n"7506",2020-07-01,20.73,277,6,6\n"7507",2020-07-13,21.29,362,7,6\n"7508",2020-07-15,21.99,1113,8,6\n"7509",2020-07-16,20.99,544,9,6\n"7510",2020-07-02,21.19,149,10,6\n"7511",2020-07-24,21.03,330,11,6\n"7512",2020-07-21,22.25,467,12,6\n"7513",2020-07-18,20.38,421,13,6\n"7514",2020-07-10,21.45,330,14,6\n"7515",2020-07-26,22.08,387,15,6\n"7516",2020-07-18,20.57,376,16,6\n"7517",2020-07-17,20.48,341,17,6\n"7518",2020-07-15,20.21,412,18,6\n"7519",2020-07-02,23.09,262,19,6\n"7520",2020-07-29,21.34,139,20,6\n"7521",2020-07-03,21.57,476,21,6\n"7522",2020-07-02,20.62,427,22,6\n"7523",2020-07-07,21.66,345,23,6\n"7524",2020-07-28,20.19,169,24,6\n"7525",2020-07-14,21.51,239,25,6\n"7526",2020-07-16,21.78,156,26,6\n"7527",2020-07-31,21.21,376,27,6\n"7528",2020-07-08,20.75,201,28,6\n"7529",2020-07-15,19.86,299,29,6\n"7530",2020-07-03,20.34,295,30,6\n"7531",2020-07-28,21.09,146,31,6\n"7532",2020-07-05,21.08,206,32,6\n"7533",2020-07-15,21.37,140,33,6\n"7534",2020-07-19,20.94,300,34,6\n"7535",2020-07-26,22.2,842,35,6\n"7536",2020-07-20,20.32,351,36,6\n"7537",2020-07-24,20.71,183,37,6\n"7538",2020-07-29,21.01,112,38,6\n"7539",2020-07-14,20.69,240,39,6\n"7540",2020-07-14,20.15,278,40,6\n"7541",2020-07-05,20.67,933,41,6\n"7542",2020-07-30,20.48,472,42,6\n"7543",2020-07-04,21.02,136,43,6\n"7544",2020-07-16,21.02,162,44,6\n"7545",2020-07-30,21.07,121,45,6\n"7546",2020-07-27,20.72,281,46,6\n"7547",2020-07-15,21.82,317,47,6\n"7548",2020-07-08,20.87,146,48,6\n"7549",2020-07-30,19.81,343,49,6\n"7550",2020-07-11,20.73,178,50,6\n"7551",2020-07-10,19.92,732,51,6\n"7552",2020-07-23,20.56,124,52,6\n"7553",2020-07-03,20.88,191,53,6\n"7554",2020-07-16,20.62,386,54,6\n"7555",2020-07-31,21.92,434,55,6\n"7556",2020-07-22,20.25,595,56,6\n"7557",2020-07-22,21.39,230,57,6\n"7558",2020-07-06,21.52,539,58,6\n"7559",2020-07-25,21.75,338,59,6\n"7560",2020-07-29,21.14,207,60,6\n"7561",2020-07-27,21.96,229,61,6\n"7562",2020-07-15,21.71,425,62,6\n"7563",2020-07-13,21.35,358,63,6\n"7564",2020-07-11,21.18,430,64,6\n"7565",2020-07-17,21.78,177,65,6\n"7566",2020-07-31,21.19,389,66,6\n"7567",2020-07-08,20.68,388,67,6\n"7568",2020-07-22,20.03,251,68,6\n"7569",2020-07-27,21.43,131,69,6\n"7570",2020-07-01,19.69,763,70,6\n"7571",2020-07-19,21.2,227,71,6\n"7572",2020-07-26,20.95,514,72,6\n"7573",2020-07-22,21.42,487,73,6\n"7574",2020-07-24,20.84,457,74,6\n"7575",2020-07-11,20.22,711,75,6\n"7576",2020-07-17,21.19,208,76,6\n"7577",2020-07-11,20.79,453,77,6\n"7578",2020-07-14,22.47,572,78,6\n"7579",2020-07-05,20.17,514,79,6\n"7580",2020-07-12,20.44,479,80,6\n"7581",2020-07-23,22,899,81,6\n"7582",2020-07-11,21.45,152,82,6\n"7583",2020-07-22,20.32,234,83,6\n"7584",2020-07-15,20.62,147,84,6\n"7585",2020-07-09,21.39,234,85,6\n"7586",2020-07-04,21.78,269,86,6\n"7587",2020-07-27,20.71,193,87,6\n"7588",2020-07-18,21.39,412,88,6\n"7589",2020-07-05,21,672,89,6\n"7590",2020-07-20,19.64,602,90,6\n"7591",2020-07-23,20.14,269,91,6\n"7592",2020-07-21,20.96,454,92,6\n"7593",2020-07-19,20.59,224,93,6\n"7594",2020-07-14,21.41,270,94,6\n"7595",2020-07-06,21.36,437,95,6\n"7596",2020-07-09,21.1,167,96,6\n"7597",2020-07-20,20.59,502,97,6\n"7598",2020-07-25,20.92,382,98,6\n"7599",2020-07-06,20.57,584,99,6\n"7600",2020-07-25,19.41,130,100,6\n"7601",2020-07-11,20.68,215,1,7\n"7602",2020-07-08,21.28,715,2,7\n"7603",2020-07-07,21.29,138,3,7\n"7604",2020-07-16,21.23,366,4,7\n"7605",2020-07-08,21.18,674,5,7\n"7606",2020-07-01,20.07,165,6,7\n"7607",2020-07-13,20.13,220,7,7\n"7608",2020-07-15,20.97,463,8,7\n"7609",2020-07-16,20.17,815,9,7\n"7610",2020-07-02,21.92,334,10,7\n"7611",2020-07-24,20.68,552,11,7\n"7612",2020-07-21,21.34,317,12,7\n"7613",2020-07-18,21.09,219,13,7\n"7614",2020-07-10,19.88,1140,14,7\n"7615",2020-07-26,21.16,280,15,7\n"7616",2020-07-18,21.45,339,16,7\n"7617",2020-07-17,20.76,522,17,7\n"7618",2020-07-15,20.01,289,18,7\n"7619",2020-07-02,21.24,491,19,7\n"7620",2020-07-29,21.2,298,20,7\n"7621",2020-07-03,20.95,282,21,7\n"7622",2020-07-02,20.36,524,22,7\n"7623",2020-07-07,22.17,192,23,7\n"7624",2020-07-28,20.8,173,24,7\n"7625",2020-07-14,22.45,1028,25,7\n"7626",2020-07-16,20.26,264,26,7\n"7627",2020-07-31,20.5,233,27,7\n"7628",2020-07-08,21.73,347,28,7\n"7629",2020-07-15,21.28,687,29,7\n"7630",2020-07-03,21.24,372,30,7\n"7631",2020-07-28,20.63,455,31,7\n"7632",2020-07-05,20.44,512,32,7\n"7633",2020-07-15,22.12,187,33,7\n"7634",2020-07-19,21.52,224,34,7\n"7635",2020-07-26,21.01,384,35,7\n"7636",2020-07-20,20.84,510,36,7\n"7637",2020-07-24,20.79,358,37,7\n"7638",2020-07-29,21.48,455,38,7\n"7639",2020-07-14,20.92,424,39,7\n"7640",2020-07-14,20.33,435,40,7\n"7641",2020-07-05,20.31,192,41,7\n"7642",2020-07-30,21.55,191,42,7\n"7643",2020-07-04,21.06,763,43,7\n"7644",2020-07-16,21.18,243,44,7\n"7645",2020-07-30,21.4,234,45,7\n"7646",2020-07-27,21.33,1097,46,7\n"7647",2020-07-15,21.82,365,47,7\n"7648",2020-07-08,21.17,508,48,7\n"7649",2020-07-30,20.22,239,49,7\n"7650",2020-07-11,20.98,277,50,7\n"7651",2020-07-10,21.9,412,51,7\n"7652",2020-07-23,20.56,351,52,7\n"7653",2020-07-03,21.06,496,53,7\n"7654",2020-07-16,21.34,199,54,7\n"7655",2020-07-31,23.22,146,55,7\n"7656",2020-07-22,20.43,1050,56,7\n"7657",2020-07-22,21.15,246,57,7\n"7658",2020-07-06,21.54,304,58,7\n"7659",2020-07-25,21.74,227,59,7\n"7660",2020-07-29,20.56,614,60,7\n"7661",2020-07-27,19.78,131,61,7\n"7662",2020-07-15,21.66,234,62,7\n"7663",2020-07-13,20.8,316,63,7\n"7664",2020-07-11,19.89,307,64,7\n"7665",2020-07-17,21.03,583,65,7\n"7666",2020-07-31,19.84,147,66,7\n"7667",2020-07-08,21.77,215,67,7\n"7668",2020-07-22,21.18,230,68,7\n"7669",2020-07-27,21.91,533,69,7\n"7670",2020-07-01,21.57,114,70,7\n"7671",2020-07-19,21.3,1469,71,7\n"7672",2020-07-26,21.55,245,72,7\n"7673",2020-07-22,20.86,360,73,7\n"7674",2020-07-24,21.13,199,74,7\n"7675",2020-07-11,21.65,640,75,7\n"7676",2020-07-17,21.52,559,76,7\n"7677",2020-07-11,21.26,412,77,7\n"7678",2020-07-14,21.73,404,78,7\n"7679",2020-07-05,21.09,449,79,7\n"7680",2020-07-12,20.68,167,80,7\n"7681",2020-07-23,21.39,213,81,7\n"7682",2020-07-11,20.86,320,82,7\n"7683",2020-07-22,20.01,409,83,7\n"7684",2020-07-15,21.28,566,84,7\n"7685",2020-07-09,20.47,210,85,7\n"7686",2020-07-04,19.81,171,86,7\n"7687",2020-07-27,21.62,459,87,7\n"7688",2020-07-18,22.59,544,88,7\n"7689",2020-07-05,20.82,231,89,7\n"7690",2020-07-20,20.58,231,90,7\n"7691",2020-07-23,19.83,507,91,7\n"7692",2020-07-21,21.62,405,92,7\n"7693",2020-07-19,20.27,93,93,7\n"7694",2020-07-14,22.34,286,94,7\n"7695",2020-07-06,20.48,293,95,7\n"7696",2020-07-09,20.96,383,96,7\n"7697",2020-07-20,20.71,939,97,7\n"7698",2020-07-25,21.49,391,98,7\n"7699",2020-07-06,20.8,193,99,7\n"7700",2020-07-25,21.9,439,100,7\n"7701",2020-07-11,22.25,252,1,8\n"7702",2020-07-08,21.5,139,2,8\n"7703",2020-07-07,20.93,265,3,8\n"7704",2020-07-16,21.49,514,4,8\n"7705",2020-07-08,21.14,254,5,8\n"7706",2020-07-01,21.14,196,6,8\n"7707",2020-07-13,21.13,347,7,8\n"7708",2020-07-15,21.24,355,8,8\n"7709",2020-07-16,21.33,303,9,8\n"7710",2020-07-02,21.68,519,10,8\n"7711",2020-07-24,21.68,190,11,8\n"7712",2020-07-21,21.34,470,12,8\n"7713",2020-07-18,21.44,217,13,8\n"7714",2020-07-10,21.85,366,14,8\n"7715",2020-07-26,21.4,289,15,8\n"7716",2020-07-18,20.81,356,16,8\n"7717",2020-07-17,20.18,689,17,8\n"7718",2020-07-15,22.21,129,18,8\n"7719",2020-07-02,21.1,350,19,8\n"7720",2020-07-29,21.65,706,20,8\n"7721",2020-07-03,20.53,395,21,8\n"7722",2020-07-02,20.67,368,22,8\n"7723",2020-07-07,21.34,742,23,8\n"7724",2020-07-28,21.93,267,24,8\n"7725",2020-07-14,21.34,391,25,8\n"7726",2020-07-16,21.33,319,26,8\n"7727",2020-07-31,21.69,199,27,8\n"7728",2020-07-08,22.83,215,28,8\n"7729",2020-07-15,20.33,292,29,8\n"7730",2020-07-03,20.83,468,30,8\n"7731",2020-07-28,21.56,953,31,8\n"7732",2020-07-05,21.66,389,32,8\n"7733",2020-07-15,20.8,249,33,8\n"7734",2020-07-19,20.71,343,34,8\n"7735",2020-07-26,21.12,162,35,8\n"7736",2020-07-20,21.07,420,36,8\n"7737",2020-07-24,21.41,171,37,8\n"7738",2020-07-29,21.4,250,38,8\n"7739",2020-07-14,21.56,434,39,8\n"7740",2020-07-14,21.61,252,40,8\n"7741",2020-07-05,21.41,492,41,8\n"7742",2020-07-30,20.77,202,42,8\n"7743",2020-07-04,21.05,353,43,8\n"7744",2020-07-16,21.72,451,44,8\n"7745",2020-07-30,21.23,295,45,8\n"7746",2020-07-27,21.92,459,46,8\n"7747",2020-07-15,21.86,249,47,8\n"7748",2020-07-08,19.94,1213,48,8\n"7749",2020-07-30,20.06,461,49,8\n"7750",2020-07-11,21.87,667,50,8\n"7751",2020-07-10,21.83,311,51,8\n"7752",2020-07-23,21.49,519,52,8\n"7753",2020-07-03,20.57,334,53,8\n"7754",2020-07-16,20.62,368,54,8\n"7755",2020-07-31,21.39,416,55,8\n"7756",2020-07-22,20.67,813,56,8\n"7757",2020-07-22,21.8,278,57,8\n"7758",2020-07-06,20.9,368,58,8\n"7759",2020-07-25,22.17,326,59,8\n"7760",2020-07-29,20.19,218,60,8\n"7761",2020-07-27,21.67,447,61,8\n"7762",2020-07-15,21.53,212,62,8\n"7763",2020-07-13,20.95,292,63,8\n"7764",2020-07-11,20.96,277,64,8\n"7765",2020-07-17,20.6,402,65,8\n"7766",2020-07-31,20.93,300,66,8\n"7767",2020-07-08,20.56,192,67,8\n"7768",2020-07-22,21.27,303,68,8\n"7769",2020-07-27,22.21,214,69,8\n"7770",2020-07-01,20.88,337,70,8\n"7771",2020-07-19,21.21,225,71,8\n"7772",2020-07-26,20.5,208,72,8\n"7773",2020-07-22,21.06,246,73,8\n"7774",2020-07-24,21.21,116,74,8\n"7775",2020-07-11,20.88,339,75,8\n"7776",2020-07-17,20.22,240,76,8\n"7777",2020-07-11,21.16,319,77,8\n"7778",2020-07-14,20.64,283,78,8\n"7779",2020-07-05,20.28,321,79,8\n"7780",2020-07-12,20.96,388,80,8\n"7781",2020-07-23,21.29,265,81,8\n"7782",2020-07-11,20.2,1127,82,8\n"7783",2020-07-22,20.83,360,83,8\n"7784",2020-07-15,20.4,481,84,8\n"7785",2020-07-09,21.6,157,85,8\n"7786",2020-07-04,21.72,348,86,8\n"7787",2020-07-27,21.32,171,87,8\n"7788",2020-07-18,21.32,226,88,8\n"7789",2020-07-05,20.35,641,89,8\n"7790",2020-07-20,20.88,371,90,8\n"7791",2020-07-23,21.3,724,91,8\n"7792",2020-07-21,20.15,247,92,8\n"7793",2020-07-19,21.16,523,93,8\n"7794",2020-07-14,20.43,513,94,8\n"7795",2020-07-06,20.64,208,95,8\n"7796",2020-07-09,21.76,331,96,8\n"7797",2020-07-20,21.51,447,97,8\n"7798",2020-07-25,21.5,201,98,8\n"7799",2020-07-06,21.25,240,99,8\n"7800",2020-07-25,21.22,127,100,8\n"7801",2020-07-11,21.6,1059,1,9\n"7802",2020-07-08,21.17,438,2,9\n"7803",2020-07-07,20.65,267,3,9\n"7804",2020-07-16,20.55,266,4,9\n"7805",2020-07-08,20.43,346,5,9\n"7806",2020-07-01,20.62,329,6,9\n"7807",2020-07-13,20.75,388,7,9\n"7808",2020-07-15,20.37,346,8,9\n"7809",2020-07-16,19.81,296,9,9\n"7810",2020-07-02,20.41,296,10,9\n"7811",2020-07-24,20.6,626,11,9\n"7812",2020-07-21,20.86,176,12,9\n"7813",2020-07-18,20.91,341,13,9\n"7814",2020-07-10,21.67,218,14,9\n"7815",2020-07-26,20.51,359,15,9\n"7816",2020-07-18,20.2,207,16,9\n"7817",2020-07-17,20.95,729,17,9\n"7818",2020-07-15,20.53,538,18,9\n"7819",2020-07-02,19.95,394,19,9\n"7820",2020-07-29,20.33,418,20,9\n"7821",2020-07-03,21.89,184,21,9\n"7822",2020-07-02,20.86,444,22,9\n"7823",2020-07-07,19.7,442,23,9\n"7824",2020-07-28,21.42,181,24,9\n"7825",2020-07-14,22.33,117,25,9\n"7826",2020-07-16,20.79,229,26,9\n"7827",2020-07-31,21,320,27,9\n"7828",2020-07-08,20.87,977,28,9\n"7829",2020-07-15,20.86,574,29,9\n"7830",2020-07-03,20.96,1018,30,9\n"7831",2020-07-28,21.13,433,31,9\n"7832",2020-07-05,20.47,332,32,9\n"7833",2020-07-15,20.56,453,33,9\n"7834",2020-07-19,22.29,706,34,9\n"7835",2020-07-26,20.54,239,35,9\n"7836",2020-07-20,20.99,438,36,9\n"7837",2020-07-24,21.49,418,37,9\n"7838",2020-07-29,20.98,591,38,9\n"7839",2020-07-14,21.4,89,39,9\n"7840",2020-07-14,20.76,226,40,9\n"7841",2020-07-05,20.81,331,41,9\n"7842",2020-07-30,19.95,235,42,9\n"7843",2020-07-04,20.94,220,43,9\n"7844",2020-07-16,20.65,312,44,9\n"7845",2020-07-30,20.79,435,45,9\n"7846",2020-07-27,21.24,221,46,9\n"7847",2020-07-15,20.76,292,47,9\n"7848",2020-07-08,20.88,599,48,9\n"7849",2020-07-30,21.96,157,49,9\n"7850",2020-07-11,20.08,241,50,9\n"7851",2020-07-10,21.31,347,51,9\n"7852",2020-07-23,22,271,52,9\n"7853",2020-07-03,22.14,595,53,9\n"7854",2020-07-16,20.42,158,54,9\n"7855",2020-07-31,21.29,260,55,9\n"7856",2020-07-22,19.96,188,56,9\n"7857",2020-07-22,22.02,348,57,9\n"7858",2020-07-06,21.36,322,58,9\n"7859",2020-07-25,20.72,1186,59,9\n"7860",2020-07-29,19.71,717,60,9\n"7861",2020-07-27,20.01,129,61,9\n"7862",2020-07-15,20.77,600,62,9\n"7863",2020-07-13,20.92,319,63,9\n"7864",2020-07-11,21.13,377,64,9\n"7865",2020-07-17,21.83,344,65,9\n"7866",2020-07-31,20.68,438,66,9\n"7867",2020-07-08,21.36,271,67,9\n"7868",2020-07-22,21.98,130,68,9\n"7869",2020-07-27,21.02,119,69,9\n"7870",2020-07-01,20.7,828,70,9\n"7871",2020-07-19,20.46,242,71,9\n"7872",2020-07-26,20.1,425,72,9\n"7873",2020-07-22,19.85,275,73,9\n"7874",2020-07-24,20.56,226,74,9\n"7875",2020-07-11,20.37,127,75,9\n"7876",2020-07-17,21.65,467,76,9\n"7877",2020-07-11,21.15,159,77,9\n"7878",2020-07-14,20.77,384,78,9\n"7879",2020-07-05,20.66,449,79,9\n"7880",2020-07-12,21.4,393,80,9\n"7881",2020-07-23,19.9,338,81,9\n"7882",2020-07-11,21.16,286,82,9\n"7883",2020-07-22,20.04,238,83,9\n"7884",2020-07-15,20.91,904,84,9\n"7885",2020-07-09,21.37,563,85,9\n"7886",2020-07-04,21.79,165,86,9\n"7887",2020-07-27,21.05,192,87,9\n"7888",2020-07-18,20.01,249,88,9\n"7889",2020-07-05,20.2,291,89,9\n"7890",2020-07-20,21.14,369,90,9\n"7891",2020-07-23,20.91,215,91,9\n"7892",2020-07-21,22.04,550,92,9\n"7893",2020-07-19,21.35,303,93,9\n"7894",2020-07-14,20.43,269,94,9\n"7895",2020-07-06,21.42,357,95,9\n"7896",2020-07-09,21.43,177,96,9\n"7897",2020-07-20,21.56,224,97,9\n"7898",2020-07-25,22.18,230,98,9\n"7899",2020-07-06,19.38,726,99,9\n"7900",2020-07-25,20.33,558,100,9\n"7901",2020-07-11,19.29,504,1,10\n"7902",2020-07-08,21.34,402,2,10\n"7903",2020-07-07,21.57,411,3,10\n"7904",2020-07-16,21.62,177,4,10\n"7905",2020-07-08,21.16,186,5,10\n"7906",2020-07-01,20.94,223,6,10\n"7907",2020-07-13,21.23,528,7,10\n"7908",2020-07-15,19.44,529,8,10\n"7909",2020-07-16,19.83,225,9,10\n"7910",2020-07-02,20.18,327,10,10\n"7911",2020-07-24,21.12,339,11,10\n"7912",2020-07-21,21.78,177,12,10\n"7913",2020-07-18,21.25,532,13,10\n"7914",2020-07-10,20.83,520,14,10\n"7915",2020-07-26,21.19,274,15,10\n"7916",2020-07-18,20.29,229,16,10\n"7917",2020-07-17,20.64,301,17,10\n"7918",2020-07-15,21.52,245,18,10\n"7919",2020-07-02,22.17,269,19,10\n"7920",2020-07-29,21.43,244,20,10\n"7921",2020-07-03,20.57,329,21,10\n"7922",2020-07-02,21.01,343,22,10\n"7923",2020-07-07,19.74,291,23,10\n"7924",2020-07-28,19.85,298,24,10\n"7925",2020-07-14,21.34,166,25,10\n"7926",2020-07-16,21.27,450,26,10\n"7927",2020-07-31,20.66,137,27,10\n"7928",2020-07-08,21.14,172,28,10\n"7929",2020-07-15,19.75,199,29,10\n"7930",2020-07-03,21.86,225,30,10\n"7931",2020-07-28,21.02,379,31,10\n"7932",2020-07-05,20.69,194,32,10\n"7933",2020-07-15,20.56,266,33,10\n"7934",2020-07-19,20.71,223,34,10\n"7935",2020-07-26,22.31,328,35,10\n"7936",2020-07-20,21.35,332,36,10\n"7937",2020-07-24,21.04,240,37,10\n"7938",2020-07-29,20.76,484,38,10\n"7939",2020-07-14,21.75,286,39,10\n"7940",2020-07-14,21.13,294,40,10\n"7941",2020-07-05,21.37,516,41,10\n"7942",2020-07-30,20.43,338,42,10\n"7943",2020-07-04,21.15,218,43,10\n"7944",2020-07-16,21.58,346,44,10\n"7945",2020-07-30,21.16,274,45,10\n"7946",2020-07-27,19.85,113,46,10\n"7947",2020-07-15,21.1,349,47,10\n"7948",2020-07-08,20.37,516,48,10\n"7949",2020-07-30,20.13,181,49,10\n"7950",2020-07-11,21.01,267,50,10\n"7951",2020-07-10,20.75,176,51,10\n"7952",2020-07-23,21.87,316,52,10\n"7953",2020-07-03,20.79,315,53,10\n"7954",2020-07-16,20.74,293,54,10\n"7955",2020-07-31,20.93,430,55,10\n"7956",2020-07-22,20.69,749,56,10\n"7957",2020-07-22,21.24,1050,57,10\n"7958",2020-07-06,20.1,558,58,10\n"7959",2020-07-25,20.98,464,59,10\n"7960",2020-07-29,20.68,163,60,10\n"7961",2020-07-27,21.02,403,61,10\n"7962",2020-07-15,21.53,325,62,10\n"7963",2020-07-13,21.23,319,63,10\n"7964",2020-07-11,20.19,233,64,10\n"7965",2020-07-17,21.54,164,65,10\n"7966",2020-07-31,21.08,906,66,10\n"7967",2020-07-08,20.54,170,67,10\n"7968",2020-07-22,20.41,148,68,10\n"7969",2020-07-27,21.47,441,69,10\n"7970",2020-07-01,21.79,347,70,10\n"7971",2020-07-19,20.62,140,71,10\n"7972",2020-07-26,21.09,345,72,10\n"7973",2020-07-22,20.16,146,73,10\n"7974",2020-07-24,20.76,292,74,10\n"7975",2020-07-11,20.99,116,75,10\n"7976",2020-07-17,21.25,265,76,10\n"7977",2020-07-11,20.92,295,77,10\n"7978",2020-07-14,20.25,219,78,10\n"7979",2020-07-05,21.39,503,79,10\n"7980",2020-07-12,21.07,167,80,10\n"7981",2020-07-23,21.65,447,81,10\n"7982",2020-07-11,21.01,214,82,10\n"7983",2020-07-22,21.27,284,83,10\n"7984",2020-07-15,21.07,280,84,10\n"7985",2020-07-09,21.07,285,85,10\n"7986",2020-07-04,21.9,641,86,10\n"7987",2020-07-27,20.76,321,87,10\n"7988",2020-07-18,20.81,188,88,10\n"7989",2020-07-05,20.9,263,89,10\n"7990",2020-07-20,19.96,454,90,10\n"7991",2020-07-23,21.03,399,91,10\n"7992",2020-07-21,21.04,351,92,10\n"7993",2020-07-19,21.03,323,93,10\n"7994",2020-07-14,20.57,191,94,10\n"7995",2020-07-06,21.29,212,95,10\n"7996",2020-07-09,21.57,550,96,10\n"7997",2020-07-20,20.24,286,97,10\n"7998",2020-07-25,20.85,369,98,10\n"7999",2020-07-06,21.63,722,99,10\n"8000",2020-07-25,20.31,119,100,10\n"8001",2020-08-04,19.4,338,1,1\n"8002",2020-08-09,20.06,488,2,1\n"8003",2020-08-03,19.68,388,3,1\n"8004",2020-08-17,20.13,341,4,1\n"8005",2020-08-13,19.25,119,5,1\n"8006",2020-08-29,19.99,180,6,1\n"8007",2020-08-20,19.18,111,7,1\n"8008",2020-08-04,19.88,142,8,1\n"8009",2020-08-03,18.73,372,9,1\n"8010",2020-08-02,19.09,204,10,1\n"8011",2020-08-12,18.4,245,11,1\n"8012",2020-08-03,19.19,198,12,1\n"8013",2020-08-19,18.57,432,13,1\n"8014",2020-08-20,19.8,319,14,1\n"8015",2020-08-05,19.32,295,15,1\n"8016",2020-08-19,19.25,193,16,1\n"8017",2020-08-28,18.49,191,17,1\n"8018",2020-08-23,18.77,280,18,1\n"8019",2020-08-28,19.24,106,19,1\n"8020",2020-08-20,19.34,231,20,1\n"8021",2020-08-02,18.82,647,21,1\n"8022",2020-08-24,18.3,176,22,1\n"8023",2020-08-17,19.01,192,23,1\n"8024",2020-08-17,18.87,260,24,1\n"8025",2020-08-13,18.47,537,25,1\n"8026",2020-08-01,19.46,380,26,1\n"8027",2020-08-20,19.2,260,27,1\n"8028",2020-08-30,19.21,283,28,1\n"8029",2020-08-08,19.35,316,29,1\n"8030",2020-08-04,19.34,335,30,1\n"8031",2020-08-05,19.49,370,31,1\n"8032",2020-08-11,19.02,365,32,1\n"8033",2020-08-01,19.72,186,33,1\n"8034",2020-08-29,19.97,499,34,1\n"8035",2020-08-14,19.37,348,35,1\n"8036",2020-08-25,19.34,208,36,1\n"8037",2020-08-03,19.01,201,37,1\n"8038",2020-08-19,19.34,358,38,1\n"8039",2020-08-20,19.09,329,39,1\n"8040",2020-08-24,19.83,286,40,1\n"8041",2020-08-25,18.78,387,41,1\n"8042",2020-08-26,18.98,479,42,1\n"8043",2020-08-27,18.62,194,43,1\n"8044",2020-08-26,18.83,313,44,1\n"8045",2020-08-23,18.87,494,45,1\n"8046",2020-08-06,18.92,215,46,1\n"8047",2020-08-20,18.82,636,47,1\n"8048",2020-08-22,19.42,168,48,1\n"8049",2020-08-15,19.27,560,49,1\n"8050",2020-08-19,18.65,299,50,1\n"8051",2020-08-08,19.42,332,51,1\n"8052",2020-08-11,19.06,256,52,1\n"8053",2020-08-22,18.8,236,53,1\n"8054",2020-08-04,19.39,509,54,1\n"8055",2020-08-06,19.02,390,55,1\n"8056",2020-08-28,19.28,201,56,1\n"8057",2020-08-06,18.73,488,57,1\n"8058",2020-08-04,19.15,223,58,1\n"8059",2020-08-15,20.83,162,59,1\n"8060",2020-08-18,19.1,575,60,1\n"8061",2020-08-03,18.39,309,61,1\n"8062",2020-08-16,19.74,387,62,1\n"8063",2020-08-11,18.43,231,63,1\n"8064",2020-08-14,18.59,155,64,1\n"8065",2020-08-27,19.5,256,65,1\n"8066",2020-08-02,18.8,330,66,1\n"8067",2020-08-22,20.01,425,67,1\n"8068",2020-08-06,19.95,333,68,1\n"8069",2020-08-03,18.21,515,69,1\n"8070",2020-08-19,18.73,261,70,1\n"8071",2020-08-31,19.17,375,71,1\n"8072",2020-08-14,19.21,292,72,1\n"8073",2020-08-27,19.38,1040,73,1\n"8074",2020-08-29,19.61,208,74,1\n"8075",2020-08-22,20.6,297,75,1\n"8076",2020-08-22,19.44,424,76,1\n"8077",2020-08-27,18.66,143,77,1\n"8078",2020-08-22,18.02,204,78,1\n"8079",2020-08-31,19.5,530,79,1\n"8080",2020-08-27,19.46,214,80,1\n"8081",2020-08-06,18.66,287,81,1\n"8082",2020-08-21,19.76,1179,82,1\n"8083",2020-08-31,19.49,705,83,1\n"8084",2020-08-24,19.79,307,84,1\n"8085",2020-08-14,19.51,489,85,1\n"8086",2020-08-31,18.53,190,86,1\n"8087",2020-08-05,19.2,121,87,1\n"8088",2020-08-17,19.09,230,88,1\n"8089",2020-08-28,20.35,145,89,1\n"8090",2020-08-17,18.7,283,90,1\n"8091",2020-08-22,18.88,234,91,1\n"8092",2020-08-21,19.34,237,92,1\n"8093",2020-08-18,18.88,301,93,1\n"8094",2020-08-03,18.84,612,94,1\n"8095",2020-08-03,18.45,293,95,1\n"8096",2020-08-11,19.52,683,96,1\n"8097",2020-08-05,17.99,513,97,1\n"8098",2020-08-10,19.15,290,98,1\n"8099",2020-08-24,18.97,329,99,1\n"8100",2020-08-30,19.36,423,100,1\n"8101",2020-08-04,19.63,250,1,2\n"8102",2020-08-09,19,336,2,2\n"8103",2020-08-03,18.13,381,3,2\n"8104",2020-08-17,19.23,265,4,2\n"8105",2020-08-13,19.13,621,5,2\n"8106",2020-08-29,19.62,407,6,2\n"8107",2020-08-20,19.02,473,7,2\n"8108",2020-08-04,18.57,536,8,2\n"8109",2020-08-03,18.87,441,9,2\n"8110",2020-08-02,19.78,521,10,2\n"8111",2020-08-12,20.03,392,11,2\n"8112",2020-08-03,18.83,259,12,2\n"8113",2020-08-19,18.88,578,13,2\n"8114",2020-08-20,19.18,287,14,2\n"8115",2020-08-05,19.8,251,15,2\n"8116",2020-08-19,19.03,344,16,2\n"8117",2020-08-28,18.8,260,17,2\n"8118",2020-08-23,18.93,372,18,2\n"8119",2020-08-28,19.26,232,19,2\n"8120",2020-08-20,19.26,380,20,2\n"8121",2020-08-02,19.94,333,21,2\n"8122",2020-08-24,19.01,481,22,2\n"8123",2020-08-17,19.6,352,23,2\n"8124",2020-08-17,20.53,203,24,2\n"8125",2020-08-13,18.92,330,25,2\n"8126",2020-08-01,18.65,222,26,2\n"8127",2020-08-20,19.33,198,27,2\n"8128",2020-08-30,19.32,521,28,2\n"8129",2020-08-08,19.9,329,29,2\n"8130",2020-08-04,19.28,356,30,2\n"8131",2020-08-05,18.78,429,31,2\n"8132",2020-08-11,19.72,587,32,2\n"8133",2020-08-01,19.29,288,33,2\n"8134",2020-08-29,19.1,215,34,2\n"8135",2020-08-14,18.47,129,35,2\n"8136",2020-08-25,19.18,336,36,2\n"8137",2020-08-03,19.33,208,37,2\n"8138",2020-08-19,18.79,243,38,2\n"8139",2020-08-20,19.29,168,39,2\n"8140",2020-08-24,19.63,108,40,2\n"8141",2020-08-25,19.66,265,41,2\n"8142",2020-08-26,19.6,321,42,2\n"8143",2020-08-27,19.25,312,43,2\n"8144",2020-08-26,19.49,476,44,2\n"8145",2020-08-23,18.92,292,45,2\n"8146",2020-08-06,18.93,303,46,2\n"8147",2020-08-20,18.79,202,47,2\n"8148",2020-08-22,19.1,452,48,2\n"8149",2020-08-15,20.14,292,49,2\n"8150",2020-08-19,18.98,227,50,2\n"8151",2020-08-08,19.56,316,51,2\n"8152",2020-08-11,18.99,443,52,2\n"8153",2020-08-22,20.41,225,53,2\n"8154",2020-08-04,17.52,447,54,2\n"8155",2020-08-06,19.14,340,55,2\n"8156",2020-08-28,18.46,326,56,2\n"8157",2020-08-06,19.26,128,57,2\n"8158",2020-08-04,19.41,306,58,2\n"8159",2020-08-15,19,193,59,2\n"8160",2020-08-18,19.51,167,60,2\n"8161",2020-08-03,18.58,799,61,2\n"8162",2020-08-16,19.73,493,62,2\n"8163",2020-08-11,19.03,363,63,2\n"8164",2020-08-14,20.21,570,64,2\n"8165",2020-08-27,19.85,315,65,2\n"8166",2020-08-02,19.46,394,66,2\n"8167",2020-08-22,19.25,531,67,2\n"8168",2020-08-06,20.31,949,68,2\n"8169",2020-08-03,18.73,462,69,2\n"8170",2020-08-19,18.35,418,70,2\n"8171",2020-08-31,19.41,260,71,2\n"8172",2020-08-14,18.95,511,72,2\n"8173",2020-08-27,18.9,268,73,2\n"8174",2020-08-29,19.2,1055,74,2\n"8175",2020-08-22,20.09,207,75,2\n"8176",2020-08-22,18.19,85,76,2\n"8177",2020-08-27,19.09,367,77,2\n"8178",2020-08-22,19.27,192,78,2\n"8179",2020-08-31,18.07,224,79,2\n"8180",2020-08-27,18.28,401,80,2\n"8181",2020-08-06,18.32,389,81,2\n"8182",2020-08-21,19.76,319,82,2\n"8183",2020-08-31,20.33,280,83,2\n"8184",2020-08-24,19.24,147,84,2\n"8185",2020-08-14,19.02,296,85,2\n"8186",2020-08-31,19.26,268,86,2\n"8187",2020-08-05,19.46,388,87,2\n"8188",2020-08-17,19.58,305,88,2\n"8189",2020-08-28,19.45,715,89,2\n"8190",2020-08-17,19.35,279,90,2\n"8191",2020-08-22,19.27,360,91,2\n"8192",2020-08-21,18.21,375,92,2\n"8193",2020-08-18,19.39,151,93,2\n"8194",2020-08-03,18.97,365,94,2\n"8195",2020-08-03,19.11,625,95,2\n"8196",2020-08-11,18.91,305,96,2\n"8197",2020-08-05,20.18,510,97,2\n"8198",2020-08-10,19.13,227,98,2\n"8199",2020-08-24,18.79,216,99,2\n"8200",2020-08-30,19.51,344,100,2\n"8201",2020-08-04,20.29,176,1,3\n"8202",2020-08-09,19.46,366,2,3\n"8203",2020-08-03,18.95,408,3,3\n"8204",2020-08-17,19.69,496,4,3\n"8205",2020-08-13,18.17,184,5,3\n"8206",2020-08-29,20,395,6,3\n"8207",2020-08-20,17.77,1066,7,3\n"8208",2020-08-04,18.26,358,8,3\n"8209",2020-08-03,19.3,320,9,3\n"8210",2020-08-02,19.62,263,10,3\n"8211",2020-08-12,18.98,300,11,3\n"8212",2020-08-03,18.27,276,12,3\n"8213",2020-08-19,18.64,350,13,3\n"8214",2020-08-20,18.28,314,14,3\n"8215",2020-08-05,19.59,191,15,3\n"8216",2020-08-19,19.87,136,16,3\n"8217",2020-08-28,19.36,258,17,3\n"8218",2020-08-23,18.87,385,18,3\n"8219",2020-08-28,18.94,373,19,3\n"8220",2020-08-20,19.46,785,20,3\n"8221",2020-08-02,18.74,343,21,3\n"8222",2020-08-24,19.33,489,22,3\n"8223",2020-08-17,18.76,298,23,3\n"8224",2020-08-17,19.07,249,24,3\n"8225",2020-08-13,18.37,299,25,3\n"8226",2020-08-01,20.08,293,26,3\n"8227",2020-08-20,19.61,101,27,3\n"8228",2020-08-30,18.85,194,28,3\n"8229",2020-08-08,18.17,771,29,3\n"8230",2020-08-04,18.73,478,30,3\n"8231",2020-08-05,18.98,148,31,3\n"8232",2020-08-11,18.94,420,32,3\n"8233",2020-08-01,18.56,104,33,3\n"8234",2020-08-29,19.1,185,34,3\n"8235",2020-08-14,19.42,832,35,3\n"8236",2020-08-25,18.83,248,36,3\n"8237",2020-08-03,18.99,275,37,3\n"8238",2020-08-19,18.19,139,38,3\n"8239",2020-08-20,19.13,309,39,3\n"8240",2020-08-24,19.18,259,40,3\n"8241",2020-08-25,18.7,537,41,3\n"8242",2020-08-26,19.15,253,42,3\n"8243",2020-08-27,19.23,275,43,3\n"8244",2020-08-26,18.54,388,44,3\n"8245",2020-08-23,17.66,615,45,3\n"8246",2020-08-06,19.35,322,46,3\n"8247",2020-08-20,18.05,409,47,3\n"8248",2020-08-22,18.15,190,48,3\n"8249",2020-08-15,18.35,339,49,3\n"8250",2020-08-19,18.57,227,50,3\n"8251",2020-08-08,19.48,692,51,3\n"8252",2020-08-11,18.98,831,52,3\n"8253",2020-08-22,18.49,232,53,3\n"8254",2020-08-04,18.73,182,54,3\n"8255",2020-08-06,18.22,340,55,3\n"8256",2020-08-28,18.67,222,56,3\n"8257",2020-08-06,18.9,268,57,3\n"8258",2020-08-04,18.45,230,58,3\n"8259",2020-08-15,19.71,670,59,3\n"8260",2020-08-18,18.86,149,60,3\n"8261",2020-08-03,19.48,300,61,3\n"8262",2020-08-16,20.3,352,62,3\n"8263",2020-08-11,19.21,614,63,3\n"8264",2020-08-14,18.87,381,64,3\n"8265",2020-08-27,19.04,323,65,3\n"8266",2020-08-02,19.57,414,66,3\n"8267",2020-08-22,19.39,404,67,3\n"8268",2020-08-06,19.14,168,68,3\n"8269",2020-08-03,19.03,162,69,3\n"8270",2020-08-19,19.06,151,70,3\n"8271",2020-08-31,19.43,218,71,3\n"8272",2020-08-14,19.8,496,72,3\n"8273",2020-08-27,20.9,182,73,3\n"8274",2020-08-29,19.67,204,74,3\n"8275",2020-08-22,18.1,214,75,3\n"8276",2020-08-22,18.35,341,76,3\n"8277",2020-08-27,20,194,77,3\n"8278",2020-08-22,19.75,1102,78,3\n"8279",2020-08-31,19.46,223,79,3\n"8280",2020-08-27,19.42,331,80,3\n"8281",2020-08-06,18.08,281,81,3\n"8282",2020-08-21,18.88,202,82,3\n"8283",2020-08-31,18.91,320,83,3\n"8284",2020-08-24,19.5,430,84,3\n"8285",2020-08-14,18.94,677,85,3\n"8286",2020-08-31,18.28,521,86,3\n"8287",2020-08-05,20.54,496,87,3\n"8288",2020-08-17,18.11,723,88,3\n"8289",2020-08-28,18.51,207,89,3\n"8290",2020-08-17,19.31,132,90,3\n"8291",2020-08-22,18.68,489,91,3\n"8292",2020-08-21,19.13,545,92,3\n"8293",2020-08-18,20.02,189,93,3\n"8294",2020-08-03,19.23,275,94,3\n"8295",2020-08-03,20.02,183,95,3\n"8296",2020-08-11,18.63,297,96,3\n"8297",2020-08-05,18.39,308,97,3\n"8298",2020-08-10,20.08,379,98,3\n"8299",2020-08-24,18.7,415,99,3\n"8300",2020-08-30,18.52,328,100,3\n"8301",2020-08-04,20.08,367,1,4\n"8302",2020-08-09,18.57,412,2,4\n"8303",2020-08-03,19.92,236,3,4\n"8304",2020-08-17,19.31,491,4,4\n"8305",2020-08-13,19.26,267,5,4\n"8306",2020-08-29,19.47,315,6,4\n"8307",2020-08-20,20.79,200,7,4\n"8308",2020-08-04,18.77,258,8,4\n"8309",2020-08-03,19.05,396,9,4\n"8310",2020-08-02,19.08,213,10,4\n"8311",2020-08-12,19.26,383,11,4\n"8312",2020-08-03,19.46,284,12,4\n"8313",2020-08-19,18.67,476,13,4\n"8314",2020-08-20,18.99,299,14,4\n"8315",2020-08-05,19.01,304,15,4\n"8316",2020-08-19,18.74,331,16,4\n"8317",2020-08-28,19.4,265,17,4\n"8318",2020-08-23,18.47,488,18,4\n"8319",2020-08-28,20.16,304,19,4\n"8320",2020-08-20,19.79,199,20,4\n"8321",2020-08-02,19.76,424,21,4\n"8322",2020-08-24,18.46,398,22,4\n"8323",2020-08-17,18.01,228,23,4\n"8324",2020-08-17,18.98,347,24,4\n"8325",2020-08-13,19.43,260,25,4\n"8326",2020-08-01,19.23,386,26,4\n"8327",2020-08-20,20.28,237,27,4\n"8328",2020-08-30,18.48,226,28,4\n"8329",2020-08-08,18.55,209,29,4\n"8330",2020-08-04,19.08,588,30,4\n"8331",2020-08-05,18.93,93,31,4\n"8332",2020-08-11,19.59,266,32,4\n"8333",2020-08-01,18.99,414,33,4\n"8334",2020-08-29,19.07,286,34,4\n"8335",2020-08-14,18.83,235,35,4\n"8336",2020-08-25,18.22,123,36,4\n"8337",2020-08-03,18.98,733,37,4\n"8338",2020-08-19,20,212,38,4\n"8339",2020-08-20,19.3,328,39,4\n"8340",2020-08-24,19.89,666,40,4\n"8341",2020-08-25,18.73,349,41,4\n"8342",2020-08-26,18.36,184,42,4\n"8343",2020-08-27,20.19,120,43,4\n"8344",2020-08-26,20.57,347,44,4\n"8345",2020-08-23,18.33,367,45,4\n"8346",2020-08-06,19.39,531,46,4\n"8347",2020-08-20,19.26,237,47,4\n"8348",2020-08-22,18.74,401,48,4\n"8349",2020-08-15,19.36,319,49,4\n"8350",2020-08-19,19.62,280,50,4\n"8351",2020-08-08,18.02,242,51,4\n"8352",2020-08-11,18.43,316,52,4\n"8353",2020-08-22,19,266,53,4\n"8354",2020-08-04,18.93,390,54,4\n"8355",2020-08-06,18.92,159,55,4\n"8356",2020-08-28,18.35,250,56,4\n"8357",2020-08-06,18.6,419,57,4\n"8358",2020-08-04,18.48,234,58,4\n"8359",2020-08-15,19.43,274,59,4\n"8360",2020-08-18,18.86,479,60,4\n"8361",2020-08-03,20.04,150,61,4\n"8362",2020-08-16,19.2,316,62,4\n"8363",2020-08-11,18.85,282,63,4\n"8364",2020-08-14,19.45,169,64,4\n"8365",2020-08-27,18.59,279,65,4\n"8366",2020-08-02,18.89,320,66,4\n"8367",2020-08-22,18.6,1327,67,4\n"8368",2020-08-06,18.57,619,68,4\n"8369",2020-08-03,18.83,408,69,4\n"8370",2020-08-19,19.82,161,70,4\n"8371",2020-08-31,19.22,311,71,4\n"8372",2020-08-14,18.28,326,72,4\n"8373",2020-08-27,19.03,479,73,4\n"8374",2020-08-29,19.03,158,74,4\n"8375",2020-08-22,19.38,286,75,4\n"8376",2020-08-22,19.32,991,76,4\n"8377",2020-08-27,19.57,341,77,4\n"8378",2020-08-22,19.01,240,78,4\n"8379",2020-08-31,19.05,468,79,4\n"8380",2020-08-27,18,246,80,4\n"8381",2020-08-06,18.99,259,81,4\n"8382",2020-08-21,18.38,306,82,4\n"8383",2020-08-31,19.27,327,83,4\n"8384",2020-08-24,18.84,185,84,4\n"8385",2020-08-14,18.73,234,85,4\n"8386",2020-08-31,18.32,361,86,4\n"8387",2020-08-05,19.18,900,87,4\n"8388",2020-08-17,18.98,358,88,4\n"8389",2020-08-28,18.52,461,89,4\n"8390",2020-08-17,18.91,515,90,4\n"8391",2020-08-22,18.95,162,91,4\n"8392",2020-08-21,19.12,217,92,4\n"8393",2020-08-18,19.49,439,93,4\n"8394",2020-08-03,19.49,231,94,4\n"8395",2020-08-03,18.92,268,95,4\n"8396",2020-08-11,19.16,386,96,4\n"8397",2020-08-05,18.74,131,97,4\n"8398",2020-08-10,18.22,201,98,4\n"8399",2020-08-24,19.08,346,99,4\n"8400",2020-08-30,18.36,246,100,4\n"8401",2020-08-04,19.05,427,1,5\n"8402",2020-08-09,18.84,353,2,5\n"8403",2020-08-03,18.83,209,3,5\n"8404",2020-08-17,18.7,183,4,5\n"8405",2020-08-13,19.74,569,5,5\n"8406",2020-08-29,19.58,175,6,5\n"8407",2020-08-20,19.77,265,7,5\n"8408",2020-08-04,18.23,190,8,5\n"8409",2020-08-03,18.63,144,9,5\n"8410",2020-08-02,18.7,564,10,5\n"8411",2020-08-12,19.54,147,11,5\n"8412",2020-08-03,19.05,324,12,5\n"8413",2020-08-19,19.93,650,13,5\n"8414",2020-08-20,19.47,516,14,5\n"8415",2020-08-05,18.98,375,15,5\n"8416",2020-08-19,19.4,301,16,5\n"8417",2020-08-28,19.1,180,17,5\n"8418",2020-08-23,19.82,360,18,5\n"8419",2020-08-28,19.76,207,19,5\n"8420",2020-08-20,19.57,296,20,5\n"8421",2020-08-02,20.02,242,21,5\n"8422",2020-08-24,19.32,196,22,5\n"8423",2020-08-17,19.41,311,23,5\n"8424",2020-08-17,19.29,461,24,5\n"8425",2020-08-13,20.29,216,25,5\n"8426",2020-08-01,18.72,258,26,5\n"8427",2020-08-20,20.68,246,27,5\n"8428",2020-08-30,19.04,330,28,5\n"8429",2020-08-08,18.58,560,29,5\n"8430",2020-08-04,19.63,295,30,5\n"8431",2020-08-05,18.97,406,31,5\n"8432",2020-08-11,19.81,203,32,5\n"8433",2020-08-01,20.8,1048,33,5\n"8434",2020-08-29,19.49,142,34,5\n"8435",2020-08-14,18.78,168,35,5\n"8436",2020-08-25,20.48,370,36,5\n"8437",2020-08-03,19.14,132,37,5\n"8438",2020-08-19,19.25,290,38,5\n"8439",2020-08-20,19.45,707,39,5\n"8440",2020-08-24,19.3,194,40,5\n"8441",2020-08-25,18.78,429,41,5\n"8442",2020-08-26,19.06,302,42,5\n"8443",2020-08-27,19.28,265,43,5\n"8444",2020-08-26,19.29,196,44,5\n"8445",2020-08-23,19.16,658,45,5\n"8446",2020-08-06,17.77,536,46,5\n"8447",2020-08-20,19.57,271,47,5\n"8448",2020-08-22,18.93,275,48,5\n"8449",2020-08-15,19.46,323,49,5\n"8450",2020-08-19,18.94,457,50,5\n"8451",2020-08-08,19.6,355,51,5\n"8452",2020-08-11,18.48,385,52,5\n"8453",2020-08-22,19.63,229,53,5\n"8454",2020-08-04,20.08,225,54,5\n"8455",2020-08-06,18.93,499,55,5\n"8456",2020-08-28,18.9,407,56,5\n"8457",2020-08-06,19.62,330,57,5\n"8458",2020-08-04,19.86,222,58,5\n"8459",2020-08-15,19.73,178,59,5\n"8460",2020-08-18,19.56,135,60,5\n"8461",2020-08-03,19.1,247,61,5\n"8462",2020-08-16,19.18,127,62,5\n"8463",2020-08-11,18.85,309,63,5\n"8464",2020-08-14,19.28,306,64,5\n"8465",2020-08-27,17.57,435,65,5\n"8466",2020-08-02,18.97,530,66,5\n"8467",2020-08-22,18.38,192,67,5\n"8468",2020-08-06,18.63,137,68,5\n"8469",2020-08-03,18.59,290,69,5\n"8470",2020-08-19,18.78,392,70,5\n"8471",2020-08-31,19.75,165,71,5\n"8472",2020-08-14,19.61,381,72,5\n"8473",2020-08-27,19.7,224,73,5\n"8474",2020-08-29,19.61,535,74,5\n"8475",2020-08-22,18.86,288,75,5\n"8476",2020-08-22,18.31,244,76,5\n"8477",2020-08-27,19.87,468,77,5\n"8478",2020-08-22,18.44,494,78,5\n"8479",2020-08-31,18.89,323,79,5\n"8480",2020-08-27,18.52,144,80,5\n"8481",2020-08-06,18.81,262,81,5\n"8482",2020-08-21,19.31,203,82,5\n"8483",2020-08-31,19.3,264,83,5\n"8484",2020-08-24,18.47,478,84,5\n"8485",2020-08-14,19.44,174,85,5\n"8486",2020-08-31,18.8,561,86,5\n"8487",2020-08-05,19.79,362,87,5\n"8488",2020-08-17,18.25,451,88,5\n"8489",2020-08-28,19.08,136,89,5\n"8490",2020-08-17,18.78,161,90,5\n"8491",2020-08-22,20.09,361,91,5\n"8492",2020-08-21,19.74,694,92,5\n"8493",2020-08-18,19.19,483,93,5\n"8494",2020-08-03,18.67,319,94,5\n"8495",2020-08-03,19.45,234,95,5\n"8496",2020-08-11,19.84,247,96,5\n"8497",2020-08-05,19.19,925,97,5\n"8498",2020-08-10,18.7,291,98,5\n"8499",2020-08-24,19.11,430,99,5\n"8500",2020-08-30,18.77,556,100,5\n"8501",2020-08-04,19.95,313,1,6\n"8502",2020-08-09,19.18,462,2,6\n"8503",2020-08-03,20.39,521,3,6\n"8504",2020-08-17,19.58,513,4,6\n"8505",2020-08-13,20.08,89,5,6\n"8506",2020-08-29,18.71,243,6,6\n"8507",2020-08-20,18.72,454,7,6\n"8508",2020-08-04,19.41,152,8,6\n"8509",2020-08-03,19.37,453,9,6\n"8510",2020-08-02,19.03,303,10,6\n"8511",2020-08-12,19.63,349,11,6\n"8512",2020-08-03,19.25,388,12,6\n"8513",2020-08-19,19.4,195,13,6\n"8514",2020-08-20,18.44,521,14,6\n"8515",2020-08-05,19.49,481,15,6\n"8516",2020-08-19,19.75,168,16,6\n"8517",2020-08-28,19.45,410,17,6\n"8518",2020-08-23,19.16,434,18,6\n"8519",2020-08-28,19.33,363,19,6\n"8520",2020-08-20,18.73,747,20,6\n"8521",2020-08-02,19.45,373,21,6\n"8522",2020-08-24,20.32,254,22,6\n"8523",2020-08-17,19.82,334,23,6\n"8524",2020-08-17,19.26,386,24,6\n"8525",2020-08-13,18.78,116,25,6\n"8526",2020-08-01,18.47,184,26,6\n"8527",2020-08-20,19.9,326,27,6\n"8528",2020-08-30,18.13,275,28,6\n"8529",2020-08-08,19.47,182,29,6\n"8530",2020-08-04,18.91,549,30,6\n"8531",2020-08-05,19.19,635,31,6\n"8532",2020-08-11,20.13,205,32,6\n"8533",2020-08-01,19.45,242,33,6\n"8534",2020-08-29,19.2,508,34,6\n"8535",2020-08-14,20.21,253,35,6\n"8536",2020-08-25,18.43,454,36,6\n"8537",2020-08-03,19.28,173,37,6\n"8538",2020-08-19,19.92,724,38,6\n"8539",2020-08-20,18.97,234,39,6\n"8540",2020-08-24,18.53,252,40,6\n"8541",2020-08-25,19.32,347,41,6\n"8542",2020-08-26,19.08,322,42,6\n"8543",2020-08-27,19.72,294,43,6\n"8544",2020-08-26,18.65,178,44,6\n"8545",2020-08-23,19.15,311,45,6\n"8546",2020-08-06,20.62,126,46,6\n"8547",2020-08-20,19.6,316,47,6\n"8548",2020-08-22,19.39,543,48,6\n"8549",2020-08-15,19.29,521,49,6\n"8550",2020-08-19,19.02,246,50,6\n"8551",2020-08-08,19.28,267,51,6\n"8552",2020-08-11,18.94,442,52,6\n"8553",2020-08-22,18.76,207,53,6\n"8554",2020-08-04,19.23,395,54,6\n"8555",2020-08-06,19.09,267,55,6\n"8556",2020-08-28,19.65,390,56,6\n"8557",2020-08-06,19.87,333,57,6\n"8558",2020-08-04,19.56,468,58,6\n"8559",2020-08-15,18.53,307,59,6\n"8560",2020-08-18,20.82,454,60,6\n"8561",2020-08-03,20.41,268,61,6\n"8562",2020-08-16,19.51,308,62,6\n"8563",2020-08-11,20.58,198,63,6\n"8564",2020-08-14,19.27,235,64,6\n"8565",2020-08-27,19.04,423,65,6\n"8566",2020-08-02,19.52,321,66,6\n"8567",2020-08-22,19.22,667,67,6\n"8568",2020-08-06,19.8,409,68,6\n"8569",2020-08-03,19.04,467,69,6\n"8570",2020-08-19,19.54,211,70,6\n"8571",2020-08-31,19.16,306,71,6\n"8572",2020-08-14,19.25,240,72,6\n"8573",2020-08-27,18.96,397,73,6\n"8574",2020-08-29,18.97,424,74,6\n"8575",2020-08-22,17.52,605,75,6\n"8576",2020-08-22,19.61,293,76,6\n"8577",2020-08-27,19.52,187,77,6\n"8578",2020-08-22,19.03,611,78,6\n"8579",2020-08-31,19.03,436,79,6\n"8580",2020-08-27,19.62,136,80,6\n"8581",2020-08-06,20.35,170,81,6\n"8582",2020-08-21,18.34,658,82,6\n"8583",2020-08-31,19.06,97,83,6\n"8584",2020-08-24,19.26,271,84,6\n"8585",2020-08-14,19.29,165,85,6\n"8586",2020-08-31,19.48,828,86,6\n"8587",2020-08-05,19.89,476,87,6\n"8588",2020-08-17,19.54,234,88,6\n"8589",2020-08-28,18.48,336,89,6\n"8590",2020-08-17,19.95,507,90,6\n"8591",2020-08-22,18.48,181,91,6\n"8592",2020-08-21,19.68,427,92,6\n"8593",2020-08-18,19.25,183,93,6\n"8594",2020-08-03,20.4,479,94,6\n"8595",2020-08-03,19.11,179,95,6\n"8596",2020-08-11,19.03,341,96,6\n"8597",2020-08-05,18.89,359,97,6\n"8598",2020-08-10,19.9,173,98,6\n"8599",2020-08-24,19.49,307,99,6\n"8600",2020-08-30,19.17,266,100,6\n"8601",2020-08-04,18.67,330,1,7\n"8602",2020-08-09,19.73,699,2,7\n"8603",2020-08-03,18.4,248,3,7\n"8604",2020-08-17,18.56,251,4,7\n"8605",2020-08-13,19.13,509,5,7\n"8606",2020-08-29,18.63,433,6,7\n"8607",2020-08-20,19.58,448,7,7\n"8608",2020-08-04,19.77,190,8,7\n"8609",2020-08-03,19.14,280,9,7\n"8610",2020-08-02,19.65,264,10,7\n"8611",2020-08-12,18.92,193,11,7\n"8612",2020-08-03,18.69,316,12,7\n"8613",2020-08-19,18.64,222,13,7\n"8614",2020-08-20,18.19,619,14,7\n"8615",2020-08-05,18.45,243,15,7\n"8616",2020-08-19,18.66,454,16,7\n"8617",2020-08-28,19.29,320,17,7\n"8618",2020-08-23,18.68,134,18,7\n"8619",2020-08-28,19.67,231,19,7\n"8620",2020-08-20,19.74,366,20,7\n"8621",2020-08-02,19.45,315,21,7\n"8622",2020-08-24,18.34,378,22,7\n"8623",2020-08-17,18.69,161,23,7\n"8624",2020-08-17,19.72,629,24,7\n"8625",2020-08-13,19.28,393,25,7\n"8626",2020-08-01,18.5,160,26,7\n"8627",2020-08-20,19.44,259,27,7\n"8628",2020-08-30,19.6,336,28,7\n"8629",2020-08-08,19.56,229,29,7\n"8630",2020-08-04,19.18,798,30,7\n"8631",2020-08-05,19.04,816,31,7\n"8632",2020-08-11,18.65,339,32,7\n"8633",2020-08-01,19.09,223,33,7\n"8634",2020-08-29,19.32,298,34,7\n"8635",2020-08-14,20.17,279,35,7\n"8636",2020-08-25,18.69,199,36,7\n"8637",2020-08-03,19.69,419,37,7\n"8638",2020-08-19,17.89,262,38,7\n"8639",2020-08-20,20.16,281,39,7\n"8640",2020-08-24,18.7,322,40,7\n"8641",2020-08-25,18.75,329,41,7\n"8642",2020-08-26,19.05,448,42,7\n"8643",2020-08-27,17.68,246,43,7\n"8644",2020-08-26,18.77,225,44,7\n"8645",2020-08-23,19.16,241,45,7\n"8646",2020-08-06,18.91,138,46,7\n"8647",2020-08-20,19.69,217,47,7\n"8648",2020-08-22,19.51,459,48,7\n"8649",2020-08-15,19.02,283,49,7\n"8650",2020-08-19,18.78,692,50,7\n"8651",2020-08-08,19.49,896,51,7\n"8652",2020-08-11,18.69,598,52,7\n"8653",2020-08-22,19.32,359,53,7\n"8654",2020-08-04,18.77,675,54,7\n"8655",2020-08-06,19.79,282,55,7\n"8656",2020-08-28,19.18,287,56,7\n"8657",2020-08-06,18.55,237,57,7\n"8658",2020-08-04,19.33,190,58,7\n"8659",2020-08-15,19.55,176,59,7\n"8660",2020-08-18,18.92,297,60,7\n"8661",2020-08-03,20.52,207,61,7\n"8662",2020-08-16,18.71,327,62,7\n"8663",2020-08-11,19.8,474,63,7\n"8664",2020-08-14,19.2,309,64,7\n"8665",2020-08-27,19.27,241,65,7\n"8666",2020-08-02,19.52,228,66,7\n"8667",2020-08-22,18.95,229,67,7\n"8668",2020-08-06,19.5,434,68,7\n"8669",2020-08-03,17.92,385,69,7\n"8670",2020-08-19,19.06,403,70,7\n"8671",2020-08-31,19.35,402,71,7\n"8672",2020-08-14,18.94,273,72,7\n"8673",2020-08-27,19.38,175,73,7\n"8674",2020-08-29,19.59,328,74,7\n"8675",2020-08-22,19.06,149,75,7\n"8676",2020-08-22,18.74,220,76,7\n"8677",2020-08-27,18.36,387,77,7\n"8678",2020-08-22,20.06,274,78,7\n"8679",2020-08-31,18.8,188,79,7\n"8680",2020-08-27,18.7,328,80,7\n"8681",2020-08-06,19.37,243,81,7\n"8682",2020-08-21,19.13,237,82,7\n"8683",2020-08-31,19.43,199,83,7\n"8684",2020-08-24,18.98,434,84,7\n"8685",2020-08-14,19.64,574,85,7\n"8686",2020-08-31,20.32,256,86,7\n"8687",2020-08-05,19.08,310,87,7\n"8688",2020-08-17,19.55,404,88,7\n"8689",2020-08-28,18.93,558,89,7\n"8690",2020-08-17,19.2,143,90,7\n"8691",2020-08-22,19.38,335,91,7\n"8692",2020-08-21,18.91,271,92,7\n"8693",2020-08-18,19.01,361,93,7\n"8694",2020-08-03,19.34,359,94,7\n"8695",2020-08-03,18.62,425,95,7\n"8696",2020-08-11,18.97,499,96,7\n"8697",2020-08-05,19.58,339,97,7\n"8698",2020-08-10,19.2,443,98,7\n"8699",2020-08-24,18.77,143,99,7\n"8700",2020-08-30,19.13,137,100,7\n"8701",2020-08-04,19.35,233,1,8\n"8702",2020-08-09,18.91,323,2,8\n"8703",2020-08-03,18.2,480,3,8\n"8704",2020-08-17,19.88,253,4,8\n"8705",2020-08-13,18.58,193,5,8\n"8706",2020-08-29,19.09,283,6,8\n"8707",2020-08-20,18.59,356,7,8\n"8708",2020-08-04,19.9,408,8,8\n"8709",2020-08-03,18.93,225,9,8\n"8710",2020-08-02,18.93,332,10,8\n"8711",2020-08-12,18.34,131,11,8\n"8712",2020-08-03,19.11,290,12,8\n"8713",2020-08-19,19.41,409,13,8\n"8714",2020-08-20,19.81,475,14,8\n"8715",2020-08-05,18.8,330,15,8\n"8716",2020-08-19,20.21,432,16,8\n"8717",2020-08-28,19.56,345,17,8\n"8718",2020-08-23,20.21,412,18,8\n"8719",2020-08-28,18.96,382,19,8\n"8720",2020-08-20,18.53,460,20,8\n"8721",2020-08-02,19.42,700,21,8\n"8722",2020-08-24,19.69,391,22,8\n"8723",2020-08-17,18.67,208,23,8\n"8724",2020-08-17,19.17,289,24,8\n"8725",2020-08-13,18.38,194,25,8\n"8726",2020-08-01,19.39,433,26,8\n"8727",2020-08-20,18.95,252,27,8\n"8728",2020-08-30,20.22,108,28,8\n"8729",2020-08-08,19.77,194,29,8\n"8730",2020-08-04,19.35,506,30,8\n"8731",2020-08-05,19.41,338,31,8\n"8732",2020-08-11,19.15,175,32,8\n"8733",2020-08-01,18.45,373,33,8\n"8734",2020-08-29,19.68,242,34,8\n"8735",2020-08-14,19.58,497,35,8\n"8736",2020-08-25,19.01,231,36,8\n"8737",2020-08-03,18.92,398,37,8\n"8738",2020-08-19,18.74,172,38,8\n"8739",2020-08-20,19.84,972,39,8\n"8740",2020-08-24,18.9,271,40,8\n"8741",2020-08-25,19.12,210,41,8\n"8742",2020-08-26,19.34,349,42,8\n"8743",2020-08-27,18.62,220,43,8\n"8744",2020-08-26,19.33,315,44,8\n"8745",2020-08-23,18.86,338,45,8\n"8746",2020-08-06,19.95,267,46,8\n"8747",2020-08-20,18.15,356,47,8\n"8748",2020-08-22,18.93,319,48,8\n"8749",2020-08-15,19.38,155,49,8\n"8750",2020-08-19,19.51,371,50,8\n"8751",2020-08-08,19.55,223,51,8\n"8752",2020-08-11,18.8,661,52,8\n"8753",2020-08-22,18.77,2239,53,8\n"8754",2020-08-04,19.58,148,54,8\n"8755",2020-08-06,19.06,473,55,8\n"8756",2020-08-28,19.95,524,56,8\n"8757",2020-08-06,18.84,164,57,8\n"8758",2020-08-04,19.51,329,58,8\n"8759",2020-08-15,19.01,743,59,8\n"8760",2020-08-18,19.65,971,60,8\n"8761",2020-08-03,19.9,185,61,8\n"8762",2020-08-16,19.66,429,62,8\n"8763",2020-08-11,18.71,343,63,8\n"8764",2020-08-14,19.29,468,64,8\n"8765",2020-08-27,19.54,98,65,8\n"8766",2020-08-02,20.16,347,66,8\n"8767",2020-08-22,19.37,221,67,8\n"8768",2020-08-06,19.24,233,68,8\n"8769",2020-08-03,18.76,869,69,8\n"8770",2020-08-19,19.19,202,70,8\n"8771",2020-08-31,18.57,522,71,8\n"8772",2020-08-14,19.01,314,72,8\n"8773",2020-08-27,19.36,166,73,8\n"8774",2020-08-29,18.61,531,74,8\n"8775",2020-08-22,20,428,75,8\n"8776",2020-08-22,18.94,440,76,8\n"8777",2020-08-27,18.73,446,77,8\n"8778",2020-08-22,19.36,222,78,8\n"8779",2020-08-31,19.69,137,79,8\n"8780",2020-08-27,19.66,291,80,8\n"8781",2020-08-06,18.52,643,81,8\n"8782",2020-08-21,18.62,264,82,8\n"8783",2020-08-31,18.98,981,83,8\n"8784",2020-08-24,17.92,321,84,8\n"8785",2020-08-14,19.14,548,85,8\n"8786",2020-08-31,18.19,790,86,8\n"8787",2020-08-05,19.47,304,87,8\n"8788",2020-08-17,19.57,454,88,8\n"8789",2020-08-28,19.41,205,89,8\n"8790",2020-08-17,19.16,406,90,8\n"8791",2020-08-22,18.98,204,91,8\n"8792",2020-08-21,19.51,208,92,8\n"8793",2020-08-18,19.5,341,93,8\n"8794",2020-08-03,19.18,200,94,8\n"8795",2020-08-03,19.25,434,95,8\n"8796",2020-08-11,19.15,376,96,8\n"8797",2020-08-05,19.1,415,97,8\n"8798",2020-08-10,18.83,265,98,8\n"8799",2020-08-24,19.59,110,99,8\n"8800",2020-08-30,19.21,298,100,8\n"8801",2020-08-04,19.32,268,1,9\n"8802",2020-08-09,19.59,296,2,9\n"8803",2020-08-03,19.92,291,3,9\n"8804",2020-08-17,19.15,446,4,9\n"8805",2020-08-13,19.54,224,5,9\n"8806",2020-08-29,19.94,652,6,9\n"8807",2020-08-20,19.99,348,7,9\n"8808",2020-08-04,18.81,177,8,9\n"8809",2020-08-03,18.61,206,9,9\n"8810",2020-08-02,18.41,279,10,9\n"8811",2020-08-12,19.23,192,11,9\n"8812",2020-08-03,19.59,306,12,9\n"8813",2020-08-19,19.41,186,13,9\n"8814",2020-08-20,18.27,294,14,9\n"8815",2020-08-05,18.74,303,15,9\n"8816",2020-08-19,19.81,255,16,9\n"8817",2020-08-28,19.34,363,17,9\n"8818",2020-08-23,19.89,306,18,9\n"8819",2020-08-28,18.7,238,19,9\n"8820",2020-08-20,19.96,530,20,9\n"8821",2020-08-02,19.35,566,21,9\n"8822",2020-08-24,19.32,284,22,9\n"8823",2020-08-17,18.76,381,23,9\n"8824",2020-08-17,18.53,193,24,9\n"8825",2020-08-13,20.16,362,25,9\n"8826",2020-08-01,18.79,542,26,9\n"8827",2020-08-20,18.75,393,27,9\n"8828",2020-08-30,18.93,478,28,9\n"8829",2020-08-08,19.09,413,29,9\n"8830",2020-08-04,19.6,242,30,9\n"8831",2020-08-05,19.1,248,31,9\n"8832",2020-08-11,19.97,194,32,9\n"8833",2020-08-01,18.78,602,33,9\n"8834",2020-08-29,18.35,671,34,9\n"8835",2020-08-14,17.7,490,35,9\n"8836",2020-08-25,19.46,494,36,9\n"8837",2020-08-03,18.97,339,37,9\n"8838",2020-08-19,20.04,252,38,9\n"8839",2020-08-20,19,469,39,9\n"8840",2020-08-24,18.81,427,40,9\n"8841",2020-08-25,19.18,238,41,9\n"8842",2020-08-26,19.57,397,42,9\n"8843",2020-08-27,18.71,245,43,9\n"8844",2020-08-26,19.14,662,44,9\n"8845",2020-08-23,17.75,173,45,9\n"8846",2020-08-06,19.07,274,46,9\n"8847",2020-08-20,18.88,413,47,9\n"8848",2020-08-22,19.44,202,48,9\n"8849",2020-08-15,19.06,177,49,9\n"8850",2020-08-19,20.33,281,50,9\n"8851",2020-08-08,19.9,381,51,9\n"8852",2020-08-11,18.7,200,52,9\n"8853",2020-08-22,20.29,337,53,9\n"8854",2020-08-04,18.98,164,54,9\n"8855",2020-08-06,19.67,183,55,9\n"8856",2020-08-28,19.17,167,56,9\n"8857",2020-08-06,18.86,255,57,9\n"8858",2020-08-04,19.36,655,58,9\n"8859",2020-08-15,18.75,291,59,9\n"8860",2020-08-18,19.73,1072,60,9\n"8861",2020-08-03,18.59,583,61,9\n"8862",2020-08-16,18.16,344,62,9\n"8863",2020-08-11,18.48,390,63,9\n"8864",2020-08-14,19.92,356,64,9\n"8865",2020-08-27,18.72,319,65,9\n"8866",2020-08-02,18.9,504,66,9\n"8867",2020-08-22,18.46,273,67,9\n"8868",2020-08-06,20.36,223,68,9\n"8869",2020-08-03,18.44,469,69,9\n"8870",2020-08-19,19.09,391,70,9\n"8871",2020-08-31,19.63,655,71,9\n"8872",2020-08-14,19.71,323,72,9\n"8873",2020-08-27,19.53,433,73,9\n"8874",2020-08-29,19.8,460,74,9\n"8875",2020-08-22,19.1,619,75,9\n"8876",2020-08-22,20.57,327,76,9\n"8877",2020-08-27,19.92,161,77,9\n"8878",2020-08-22,19.65,481,78,9\n"8879",2020-08-31,18.52,170,79,9\n"8880",2020-08-27,19.1,302,80,9\n"8881",2020-08-06,18.28,197,81,9\n"8882",2020-08-21,19.23,296,82,9\n"8883",2020-08-31,18.95,504,83,9\n"8884",2020-08-24,18.02,330,84,9\n"8885",2020-08-14,19.73,333,85,9\n"8886",2020-08-31,19.67,181,86,9\n"8887",2020-08-05,19.96,230,87,9\n"8888",2020-08-17,18.9,258,88,9\n"8889",2020-08-28,19.29,322,89,9\n"8890",2020-08-17,19.92,211,90,9\n"8891",2020-08-22,18.68,54,91,9\n"8892",2020-08-21,18.86,346,92,9\n"8893",2020-08-18,18.72,193,93,9\n"8894",2020-08-03,19.68,229,94,9\n"8895",2020-08-03,18.97,420,95,9\n"8896",2020-08-11,19.73,191,96,9\n"8897",2020-08-05,18.8,303,97,9\n"8898",2020-08-10,19.37,217,98,9\n"8899",2020-08-24,18.53,416,99,9\n"8900",2020-08-30,19.8,473,100,9\n"8901",2020-08-04,20.49,292,1,10\n"8902",2020-08-09,18.67,389,2,10\n"8903",2020-08-03,19.37,182,3,10\n"8904",2020-08-17,17.5,173,4,10\n"8905",2020-08-13,18.3,409,5,10\n"8906",2020-08-29,18.37,460,6,10\n"8907",2020-08-20,20.24,590,7,10\n"8908",2020-08-04,18.26,177,8,10\n"8909",2020-08-03,19.36,241,9,10\n"8910",2020-08-02,19.9,538,10,10\n"8911",2020-08-12,19.47,449,11,10\n"8912",2020-08-03,19.06,171,12,10\n"8913",2020-08-19,18.95,398,13,10\n"8914",2020-08-20,19.17,370,14,10\n"8915",2020-08-05,18.97,509,15,10\n"8916",2020-08-19,18.82,159,16,10\n"8917",2020-08-28,18.63,374,17,10\n"8918",2020-08-23,19.04,411,18,10\n"8919",2020-08-28,19.29,166,19,10\n"8920",2020-08-20,19.3,732,20,10\n"8921",2020-08-02,18.48,512,21,10\n"8922",2020-08-24,18.98,736,22,10\n"8923",2020-08-17,18.45,440,23,10\n"8924",2020-08-17,19.51,210,24,10\n"8925",2020-08-13,18.96,174,25,10\n"8926",2020-08-01,19.25,142,26,10\n"8927",2020-08-20,19.25,292,27,10\n"8928",2020-08-30,18.15,629,28,10\n"8929",2020-08-08,19.88,323,29,10\n"8930",2020-08-04,18.91,458,30,10\n"8931",2020-08-05,18.36,535,31,10\n"8932",2020-08-11,19.24,199,32,10\n"8933",2020-08-01,18.75,286,33,10\n"8934",2020-08-29,19.34,634,34,10\n"8935",2020-08-14,19.2,308,35,10\n"8936",2020-08-25,19.42,68,36,10\n"8937",2020-08-03,19.03,346,37,10\n"8938",2020-08-19,20.12,290,38,10\n"8939",2020-08-20,18.96,487,39,10\n"8940",2020-08-24,19.15,391,40,10\n"8941",2020-08-25,19.46,252,41,10\n"8942",2020-08-26,19.41,206,42,10\n"8943",2020-08-27,18.1,233,43,10\n"8944",2020-08-26,18.31,96,44,10\n"8945",2020-08-23,20.03,123,45,10\n"8946",2020-08-06,18.54,477,46,10\n"8947",2020-08-20,19.66,96,47,10\n"8948",2020-08-22,19.39,352,48,10\n"8949",2020-08-15,18.85,748,49,10\n"8950",2020-08-19,19.26,380,50,10\n"8951",2020-08-08,18.59,322,51,10\n"8952",2020-08-11,18.95,137,52,10\n"8953",2020-08-22,19.84,454,53,10\n"8954",2020-08-04,20.06,202,54,10\n"8955",2020-08-06,19.63,380,55,10\n"8956",2020-08-28,18.41,464,56,10\n"8957",2020-08-06,18.38,91,57,10\n"8958",2020-08-04,20.21,500,58,10\n"8959",2020-08-15,19.59,296,59,10\n"8960",2020-08-18,20.53,191,60,10\n"8961",2020-08-03,19.24,349,61,10\n"8962",2020-08-16,18.46,194,62,10\n"8963",2020-08-11,18.91,239,63,10\n"8964",2020-08-14,19.11,159,64,10\n"8965",2020-08-27,18.65,171,65,10\n"8966",2020-08-02,19.65,380,66,10\n"8967",2020-08-22,19.63,345,67,10\n"8968",2020-08-06,19.31,196,68,10\n"8969",2020-08-03,19.5,199,69,10\n"8970",2020-08-19,19.2,156,70,10\n"8971",2020-08-31,18.59,212,71,10\n"8972",2020-08-14,19.15,147,72,10\n"8973",2020-08-27,19.48,173,73,10\n"8974",2020-08-29,18.45,357,74,10\n"8975",2020-08-22,18.44,414,75,10\n"8976",2020-08-22,19.21,117,76,10\n"8977",2020-08-27,18.69,186,77,10\n"8978",2020-08-22,19.05,770,78,10\n"8979",2020-08-31,19.39,253,79,10\n"8980",2020-08-27,19.28,166,80,10\n"8981",2020-08-06,19.14,366,81,10\n"8982",2020-08-21,19.09,227,82,10\n"8983",2020-08-31,18.55,268,83,10\n"8984",2020-08-24,19.15,133,84,10\n"8985",2020-08-14,19.58,399,85,10\n"8986",2020-08-31,19.33,404,86,10\n"8987",2020-08-05,19.09,226,87,10\n"8988",2020-08-17,18.79,725,88,10\n"8989",2020-08-28,19.09,239,89,10\n"8990",2020-08-17,19.62,449,90,10\n"8991",2020-08-22,18.7,341,91,10\n"8992",2020-08-21,19.58,167,92,10\n"8993",2020-08-18,19.24,489,93,10\n"8994",2020-08-03,18.86,277,94,10\n"8995",2020-08-03,18.92,291,95,10\n"8996",2020-08-11,18.23,166,96,10\n"8997",2020-08-05,19.25,352,97,10\n"8998",2020-08-10,20.2,200,98,10\n"8999",2020-08-24,18.82,425,99,10\n"9000",2020-08-30,20.1,212,100,10\n"9001",2020-09-04,20.45,455,1,1\n"9002",2020-09-15,21.1,683,2,1\n"9003",2020-09-13,19.5,297,3,1\n"9004",2020-09-07,19.43,158,4,1\n"9005",2020-09-14,21.55,389,5,1\n"9006",2020-09-25,20.71,647,6,1\n"9007",2020-09-17,19.75,769,7,1\n"9008",2020-09-11,21.12,512,8,1\n"9009",2020-09-26,20.16,399,9,1\n"9010",2020-09-05,20.68,701,10,1\n"9011",2020-09-02,20.08,466,11,1\n"9012",2020-09-18,20.17,364,12,1\n"9013",2020-09-25,20.94,142,13,1\n"9014",2020-09-21,20.68,503,14,1\n"9015",2020-09-27,20.12,900,15,1\n"9016",2020-09-06,19.43,299,16,1\n"9017",2020-09-17,20.22,1544,17,1\n"9018",2020-09-10,20.1,711,18,1\n"9019",2020-09-03,20.05,496,19,1\n"9020",2020-09-23,20.19,448,20,1\n"9021",2020-09-02,20.63,698,21,1\n"9022",2020-09-17,19.94,427,22,1\n"9023",2020-09-23,20.74,566,23,1\n"9024",2020-09-16,20.38,794,24,1\n"9025",2020-09-27,20.58,639,25,1\n"9026",2020-09-30,20.56,318,26,1\n"9027",2020-09-15,20.37,618,27,1\n"9028",2020-09-24,19.98,620,28,1\n"9029",2020-09-03,19.6,214,29,1\n"9030",2020-09-18,21.01,466,30,1\n"9031",2020-09-14,19.68,167,31,1\n"9032",2020-09-25,19.38,578,32,1\n"9033",2020-09-22,20.44,567,33,1\n"9034",2020-09-12,19.42,406,34,1\n"9035",2020-09-09,19.94,1080,35,1\n"9036",2020-09-10,20.04,135,36,1\n"9037",2020-09-18,19.54,190,37,1\n"9038",2020-09-15,20.78,97,38,1\n"9039",2020-09-22,20.41,236,39,1\n"9040",2020-09-11,19.72,579,40,1\n"9041",2020-09-19,19.35,204,41,1\n"9042",2020-09-18,19.63,691,42,1\n"9043",2020-09-05,20.38,254,43,1\n"9044",2020-09-23,19.81,293,44,1\n"9045",2020-09-11,20.4,485,45,1\n"9046",2020-09-23,19.2,263,46,1\n"9047",2020-09-03,20.3,337,47,1\n"9048",2020-09-13,19.87,574,48,1\n"9049",2020-09-24,20.48,314,49,1\n"9050",2020-09-16,19.85,516,50,1\n"9051",2020-09-18,20.59,336,51,1\n"9052",2020-09-19,19.78,756,52,1\n"9053",2020-09-18,20.75,738,53,1\n"9054",2020-09-05,21,649,54,1\n"9055",2020-09-02,20.24,274,55,1\n"9056",2020-09-21,20.31,478,56,1\n"9057",2020-09-04,20.85,443,57,1\n"9058",2020-09-09,20.23,442,58,1\n"9059",2020-09-13,20.77,509,59,1\n"9060",2020-09-24,20.04,513,60,1\n"9061",2020-09-20,20.56,84,61,1\n"9062",2020-09-12,21.37,1143,62,1\n"9063",2020-09-04,19.97,983,63,1\n"9064",2020-09-08,20.35,205,64,1\n"9065",2020-09-25,20.79,503,65,1\n"9066",2020-09-03,20.23,374,66,1\n"9067",2020-09-08,20.04,397,67,1\n"9068",2020-09-21,19.92,185,68,1\n"9069",2020-09-22,20.68,537,69,1\n"9070",2020-09-21,19.89,490,70,1\n"9071",2020-09-18,19.74,286,71,1\n"9072",2020-09-02,19.41,342,72,1\n"9073",2020-09-02,20.52,145,73,1\n"9074",2020-09-27,20.8,323,74,1\n"9075",2020-09-19,20.36,369,75,1\n"9076",2020-09-28,20.99,376,76,1\n"9077",2020-09-04,20.67,224,77,1\n"9078",2020-09-04,21.92,495,78,1\n"9079",2020-09-05,19.46,459,79,1\n"9080",2020-09-12,20.93,443,80,1\n"9081",2020-09-07,19.24,209,81,1\n"9082",2020-09-23,21.66,421,82,1\n"9083",2020-09-24,20.76,931,83,1\n"9084",2020-09-02,20.99,420,84,1\n"9085",2020-09-17,21.46,214,85,1\n"9086",2020-09-29,20.42,373,86,1\n"9087",2020-09-23,19.64,970,87,1\n"9088",2020-09-20,19.91,425,88,1\n"9089",2020-09-17,20.84,342,89,1\n"9090",2020-09-02,20.1,340,90,1\n"9091",2020-09-27,19.53,736,91,1\n"9092",2020-09-19,20.3,141,92,1\n"9093",2020-09-05,20.26,389,93,1\n"9094",2020-09-23,19.2,276,94,1\n"9095",2020-09-18,20.19,237,95,1\n"9096",2020-09-08,19.93,196,96,1\n"9097",2020-09-22,20.49,430,97,1\n"9098",2020-09-22,19.51,638,98,1\n"9099",2020-09-06,19.82,348,99,1\n"9100",2020-09-24,20,218,100,1\n"9101",2020-09-04,21.56,370,1,2\n"9102",2020-09-15,21.32,892,2,2\n"9103",2020-09-13,21.26,393,3,2\n"9104",2020-09-07,19.35,374,4,2\n"9105",2020-09-14,20.03,184,5,2\n"9106",2020-09-25,20.51,401,6,2\n"9107",2020-09-17,21.71,444,7,2\n"9108",2020-09-11,21.31,449,8,2\n"9109",2020-09-26,20.77,233,9,2\n"9110",2020-09-05,20.38,401,10,2\n"9111",2020-09-02,19.86,567,11,2\n"9112",2020-09-18,20.24,506,12,2\n"9113",2020-09-25,20.96,132,13,2\n"9114",2020-09-21,19.79,494,14,2\n"9115",2020-09-27,20.44,415,15,2\n"9116",2020-09-06,20.04,600,16,2\n"9117",2020-09-17,21.61,474,17,2\n"9118",2020-09-10,20.64,291,18,2\n"9119",2020-09-03,20.04,450,19,2\n"9120",2020-09-23,20.89,383,20,2\n"9121",2020-09-02,19.94,244,21,2\n"9122",2020-09-17,19.87,230,22,2\n"9123",2020-09-23,20.01,845,23,2\n"9124",2020-09-16,20.07,2051,24,2\n"9125",2020-09-27,19.95,253,25,2\n"9126",2020-09-30,19.14,600,26,2\n"9127",2020-09-15,19.85,657,27,2\n"9128",2020-09-24,20.32,336,28,2\n"9129",2020-09-03,20.33,498,29,2\n"9130",2020-09-18,21.04,293,30,2\n"9131",2020-09-14,21.48,1374,31,2\n"9132",2020-09-25,20.73,124,32,2\n"9133",2020-09-22,21.09,454,33,2\n"9134",2020-09-12,21.3,730,34,2\n"9135",2020-09-09,21.44,302,35,2\n"9136",2020-09-10,20.09,158,36,2\n"9137",2020-09-18,20.91,388,37,2\n"9138",2020-09-15,20.7,647,38,2\n"9139",2020-09-22,19.21,251,39,2\n"9140",2020-09-11,21.55,618,40,2\n"9141",2020-09-19,20.67,305,41,2\n"9142",2020-09-18,20.03,382,42,2\n"9143",2020-09-05,19.1,969,43,2\n"9144",2020-09-23,19.9,632,44,2\n"9145",2020-09-11,21.09,393,45,2\n"9146",2020-09-23,18.68,293,46,2\n"9147",2020-09-03,21.29,440,47,2\n"9148",2020-09-13,20,424,48,2\n"9149",2020-09-24,19.38,309,49,2\n"9150",2020-09-16,19.83,492,50,2\n"9151",2020-09-18,20.1,457,51,2\n"9152",2020-09-19,20.5,264,52,2\n"9153",2020-09-18,19.58,587,53,2\n"9154",2020-09-05,18.91,398,54,2\n"9155",2020-09-02,20.27,374,55,2\n"9156",2020-09-21,20.05,780,56,2\n"9157",2020-09-04,20.45,626,57,2\n"9158",2020-09-09,20.27,651,58,2\n"9159",2020-09-13,19.17,316,59,2\n"9160",2020-09-24,19.87,729,60,2\n"9161",2020-09-20,20.39,333,61,2\n"9162",2020-09-12,19.98,292,62,2\n"9163",2020-09-04,20.1,389,63,2\n"9164",2020-09-08,20.04,562,64,2\n"9165",2020-09-25,21.21,334,65,2\n"9166",2020-09-03,20.46,875,66,2\n"9167",2020-09-08,20.38,905,67,2\n"9168",2020-09-21,19.85,329,68,2\n"9169",2020-09-22,21.47,490,69,2\n"9170",2020-09-21,20.22,231,70,2\n"9171",2020-09-18,20.59,354,71,2\n"9172",2020-09-02,21.43,954,72,2\n"9173",2020-09-02,19.63,170,73,2\n"9174",2020-09-27,21.4,614,74,2\n"9175",2020-09-19,20.85,195,75,2\n"9176",2020-09-28,19.55,484,76,2\n"9177",2020-09-04,20.05,585,77,2\n"9178",2020-09-04,20.6,973,78,2\n"9179",2020-09-05,19.82,603,79,2\n"9180",2020-09-12,20.5,944,80,2\n"9181",2020-09-07,21.22,534,81,2\n"9182",2020-09-23,18.61,255,82,2\n"9183",2020-09-24,21.79,783,83,2\n"9184",2020-09-02,20.44,496,84,2\n"9185",2020-09-17,21.45,1538,85,2\n"9186",2020-09-29,18.99,1051,86,2\n"9187",2020-09-23,19.74,293,87,2\n"9188",2020-09-20,20.19,439,88,2\n"9189",2020-09-17,20.46,1015,89,2\n"9190",2020-09-02,20.36,307,90,2\n"9191",2020-09-27,20.63,558,91,2\n"9192",2020-09-19,20.23,43,92,2\n"9193",2020-09-05,20.32,320,93,2\n"9194",2020-09-23,19.77,442,94,2\n"9195",2020-09-18,20.39,421,95,2\n"9196",2020-09-08,19.73,815,96,2\n"9197",2020-09-22,20.87,275,97,2\n"9198",2020-09-22,20.31,245,98,2\n"9199",2020-09-06,21.59,336,99,2\n"9200",2020-09-24,20.7,665,100,2\n"9201",2020-09-04,20.18,610,1,3\n"9202",2020-09-15,21.42,262,2,3\n"9203",2020-09-13,19.29,503,3,3\n"9204",2020-09-07,20.31,839,4,3\n"9205",2020-09-14,20.07,1008,5,3\n"9206",2020-09-25,19.87,472,6,3\n"9207",2020-09-17,20.27,303,7,3\n"9208",2020-09-11,19.82,312,8,3\n"9209",2020-09-26,19.45,440,9,3\n"9210",2020-09-05,20.56,379,10,3\n"9211",2020-09-02,19.76,517,11,3\n"9212",2020-09-18,20.99,732,12,3\n"9213",2020-09-25,19.79,440,13,3\n"9214",2020-09-21,20.37,366,14,3\n"9215",2020-09-27,20.76,532,15,3\n"9216",2020-09-06,20.09,308,16,3\n"9217",2020-09-17,18.88,247,17,3\n"9218",2020-09-10,21.2,349,18,3\n"9219",2020-09-03,19.77,452,19,3\n"9220",2020-09-23,20.28,460,20,3\n"9221",2020-09-02,20.05,100,21,3\n"9222",2020-09-17,19.3,808,22,3\n"9223",2020-09-23,20.35,450,23,3\n"9224",2020-09-16,19.56,651,24,3\n"9225",2020-09-27,20.05,633,25,3\n"9226",2020-09-30,19.1,204,26,3\n"9227",2020-09-15,20.13,534,27,3\n"9228",2020-09-24,19.13,275,28,3\n"9229",2020-09-03,20.96,433,29,3\n"9230",2020-09-18,21.33,1084,30,3\n"9231",2020-09-14,21.08,317,31,3\n"9232",2020-09-25,21.55,296,32,3\n"9233",2020-09-22,20.44,237,33,3\n"9234",2020-09-12,19.32,307,34,3\n"9235",2020-09-09,20.1,351,35,3\n"9236",2020-09-10,19.33,429,36,3\n"9237",2020-09-18,21,532,37,3\n"9238",2020-09-15,19.99,590,38,3\n"9239",2020-09-22,19.97,441,39,3\n"9240",2020-09-11,20,339,40,3\n"9241",2020-09-19,20.63,225,41,3\n"9242",2020-09-18,20.9,655,42,3\n"9243",2020-09-05,20.29,476,43,3\n"9244",2020-09-23,20.54,539,44,3\n"9245",2020-09-11,19.95,186,45,3\n"9246",2020-09-23,21.01,648,46,3\n"9247",2020-09-03,20.22,280,47,3\n"9248",2020-09-13,19.39,679,48,3\n"9249",2020-09-24,19.88,303,49,3\n"9250",2020-09-16,19.34,700,50,3\n"9251",2020-09-18,20.32,696,51,3\n"9252",2020-09-19,20.42,269,52,3\n"9253",2020-09-18,19,596,53,3\n"9254",2020-09-05,21.2,1100,54,3\n"9255",2020-09-02,20.05,278,55,3\n"9256",2020-09-21,20.59,203,56,3\n"9257",2020-09-04,19.41,556,57,3\n"9258",2020-09-09,20.37,585,58,3\n"9259",2020-09-13,19.91,111,59,3\n"9260",2020-09-24,20.26,666,60,3\n"9261",2020-09-20,19.8,875,61,3\n"9262",2020-09-12,21.11,392,62,3\n"9263",2020-09-04,19.26,563,63,3\n"9264",2020-09-08,19.85,731,64,3\n"9265",2020-09-25,19.02,424,65,3\n"9266",2020-09-03,19.46,206,66,3\n"9267",2020-09-08,20.55,302,67,3\n"9268",2020-09-21,19.88,390,68,3\n"9269",2020-09-22,20.6,265,69,3\n"9270",2020-09-21,20.03,408,70,3\n"9271",2020-09-18,20.31,1636,71,3\n"9272",2020-09-02,19.76,300,72,3\n"9273",2020-09-02,20.5,297,73,3\n"9274",2020-09-27,20.77,337,74,3\n"9275",2020-09-19,19.58,743,75,3\n"9276",2020-09-28,20.28,328,76,3\n"9277",2020-09-04,20.25,371,77,3\n"9278",2020-09-04,20.92,266,78,3\n"9279",2020-09-05,20.12,447,79,3\n"9280",2020-09-12,20.95,711,80,3\n"9281",2020-09-07,20.82,82,81,3\n"9282",2020-09-23,20.2,517,82,3\n"9283",2020-09-24,19.54,217,83,3\n"9284",2020-09-02,20.21,372,84,3\n"9285",2020-09-17,20.44,328,85,3\n"9286",2020-09-29,20.17,1798,86,3\n"9287",2020-09-23,20.06,681,87,3\n"9288",2020-09-20,20.88,351,88,3\n"9289",2020-09-17,19.42,661,89,3\n"9290",2020-09-02,19.22,482,90,3\n"9291",2020-09-27,20.14,183,91,3\n"9292",2020-09-19,20.06,252,92,3\n"9293",2020-09-05,19.69,639,93,3\n"9294",2020-09-23,20.14,1012,94,3\n"9295",2020-09-18,19.86,538,95,3\n"9296",2020-09-08,20.24,221,96,3\n"9297",2020-09-22,20.25,223,97,3\n"9298",2020-09-22,19.94,423,98,3\n"9299",2020-09-06,20.61,288,99,3\n"9300",2020-09-24,19.52,473,100,3\n"9301",2020-09-04,19.66,891,1,4\n"9302",2020-09-15,19.91,724,2,4\n"9303",2020-09-13,19.52,379,3,4\n"9304",2020-09-07,19.79,483,4,4\n"9305",2020-09-14,20.43,257,5,4\n"9306",2020-09-25,20.61,591,6,4\n"9307",2020-09-17,20.3,741,7,4\n"9308",2020-09-11,20.1,176,8,4\n"9309",2020-09-26,19.81,266,9,4\n"9310",2020-09-05,19.94,961,10,4\n"9311",2020-09-02,19.43,252,11,4\n"9312",2020-09-18,19.11,248,12,4\n"9313",2020-09-25,20.09,274,13,4\n"9314",2020-09-21,21.39,224,14,4\n"9315",2020-09-27,20.01,729,15,4\n"9316",2020-09-06,21.77,523,16,4\n"9317",2020-09-17,19.98,372,17,4\n"9318",2020-09-10,20.27,419,18,4\n"9319",2020-09-03,20.1,166,19,4\n"9320",2020-09-23,19.11,1439,20,4\n"9321",2020-09-02,20.74,389,21,4\n"9322",2020-09-17,20.85,137,22,4\n"9323",2020-09-23,20.51,986,23,4\n"9324",2020-09-16,19.7,793,24,4\n"9325",2020-09-27,20.72,370,25,4\n"9326",2020-09-30,20.75,926,26,4\n"9327",2020-09-15,20.02,651,27,4\n"9328",2020-09-24,20.39,234,28,4\n"9329",2020-09-03,19.75,321,29,4\n"9330",2020-09-18,19.72,344,30,4\n"9331",2020-09-14,19.85,299,31,4\n"9332",2020-09-25,19.87,489,32,4\n"9333",2020-09-22,20.32,608,33,4\n"9334",2020-09-12,20.82,292,34,4\n"9335",2020-09-09,20.35,134,35,4\n"9336",2020-09-10,20.37,434,36,4\n"9337",2020-09-18,20.65,310,37,4\n"9338",2020-09-15,20.7,1107,38,4\n"9339",2020-09-22,20.02,326,39,4\n"9340",2020-09-11,20.22,400,40,4\n"9341",2020-09-19,20.34,834,41,4\n"9342",2020-09-18,20.92,381,42,4\n"9343",2020-09-05,19.02,311,43,4\n"9344",2020-09-23,19.2,695,44,4\n"9345",2020-09-11,20.38,262,45,4\n"9346",2020-09-23,21.7,381,46,4\n"9347",2020-09-03,21.41,320,47,4\n"9348",2020-09-13,20.51,426,48,4\n"9349",2020-09-24,19.52,666,49,4\n"9350",2020-09-16,20.19,844,50,4\n"9351",2020-09-18,21.17,378,51,4\n"9352",2020-09-19,19.35,457,52,4\n"9353",2020-09-18,20.89,316,53,4\n"9354",2020-09-05,20.5,366,54,4\n"9355",2020-09-02,18.61,648,55,4\n"9356",2020-09-21,19.71,397,56,4\n"9357",2020-09-04,21.31,525,57,4\n"9358",2020-09-09,19.07,775,58,4\n"9359",2020-09-13,20.15,368,59,4\n"9360",2020-09-24,20.6,163,60,4\n"9361",2020-09-20,20.05,721,61,4\n"9362",2020-09-12,21.01,1927,62,4\n"9363",2020-09-04,20.01,192,63,4\n"9364",2020-09-08,20.75,351,64,4\n"9365",2020-09-25,19.83,372,65,4\n"9366",2020-09-03,19.6,167,66,4\n"9367",2020-09-08,20.38,305,67,4\n"9368",2020-09-21,20.89,263,68,4\n"9369",2020-09-22,20.1,307,69,4\n"9370",2020-09-21,19.79,147,70,4\n"9371",2020-09-18,21.89,344,71,4\n"9372",2020-09-02,20.24,218,72,4\n"9373",2020-09-02,20.33,153,73,4\n"9374",2020-09-27,20.96,358,74,4\n"9375",2020-09-19,20.57,435,75,4\n"9376",2020-09-28,20.16,1588,76,4\n"9377",2020-09-04,20.25,331,77,4\n"9378",2020-09-04,19.93,748,78,4\n"9379",2020-09-05,20.44,265,79,4\n"9380",2020-09-12,19.5,467,80,4\n"9381",2020-09-07,19.38,528,81,4\n"9382",2020-09-23,20.83,1208,82,4\n"9383",2020-09-24,19.82,724,83,4\n"9384",2020-09-02,20.01,310,84,4\n"9385",2020-09-17,20.4,495,85,4\n"9386",2020-09-29,19.33,232,86,4\n"9387",2020-09-23,19.98,289,87,4\n"9388",2020-09-20,19.78,1202,88,4\n"9389",2020-09-17,19.6,514,89,4\n"9390",2020-09-02,20.44,715,90,4\n"9391",2020-09-27,20.42,294,91,4\n"9392",2020-09-19,19.68,346,92,4\n"9393",2020-09-05,20.71,532,93,4\n"9394",2020-09-23,19.44,313,94,4\n"9395",2020-09-18,21.97,471,95,4\n"9396",2020-09-08,20.32,154,96,4\n"9397",2020-09-22,20.14,273,97,4\n"9398",2020-09-22,19.8,868,98,4\n"9399",2020-09-06,21.17,391,99,4\n"9400",2020-09-24,20.63,478,100,4\n"9401",2020-09-04,20.91,645,1,5\n"9402",2020-09-15,19.87,397,2,5\n"9403",2020-09-13,20.18,721,3,5\n"9404",2020-09-07,19.77,217,4,5\n"9405",2020-09-14,19.15,506,5,5\n"9406",2020-09-25,20.05,554,6,5\n"9407",2020-09-17,21.37,468,7,5\n"9408",2020-09-11,21.23,526,8,5\n"9409",2020-09-26,20.06,334,9,5\n"9410",2020-09-05,20.04,2283,10,5\n"9411",2020-09-02,20.71,714,11,5\n"9412",2020-09-18,20.64,478,12,5\n"9413",2020-09-25,20.66,308,13,5\n"9414",2020-09-21,20.7,333,14,5\n"9415",2020-09-27,19.95,672,15,5\n"9416",2020-09-06,20.12,446,16,5\n"9417",2020-09-17,19.94,291,17,5\n"9418",2020-09-10,20.27,616,18,5\n"9419",2020-09-03,19.99,566,19,5\n"9420",2020-09-23,20.39,817,20,5\n"9421",2020-09-02,20.03,867,21,5\n"9422",2020-09-17,19.6,538,22,5\n"9423",2020-09-23,19.83,344,23,5\n"9424",2020-09-16,19.62,400,24,5\n"9425",2020-09-27,20.4,143,25,5\n"9426",2020-09-30,20.32,1091,26,5\n"9427",2020-09-15,20.62,198,27,5\n"9428",2020-09-24,19.6,284,28,5\n"9429",2020-09-03,19.65,1057,29,5\n"9430",2020-09-18,21.46,426,30,5\n"9431",2020-09-14,20.55,1102,31,5\n"9432",2020-09-25,20.41,336,32,5\n"9433",2020-09-22,19.65,275,33,5\n"9434",2020-09-12,19.85,283,34,5\n"9435",2020-09-09,20.51,263,35,5\n"9436",2020-09-10,19.33,696,36,5\n"9437",2020-09-18,19.62,353,37,5\n"9438",2020-09-15,19.86,752,38,5\n"9439",2020-09-22,19.47,588,39,5\n"9440",2020-09-11,19.25,785,40,5\n"9441",2020-09-19,19.8,373,41,5\n"9442",2020-09-18,19.39,663,42,5\n"9443",2020-09-05,20.15,333,43,5\n"9444",2020-09-23,20.4,373,44,5\n"9445",2020-09-11,19.54,628,45,5\n"9446",2020-09-23,20.26,368,46,5\n"9447",2020-09-03,20.65,241,47,5\n"9448",2020-09-13,20.91,295,48,5\n"9449",2020-09-24,19.57,1847,49,5\n"9450",2020-09-16,20.44,237,50,5\n"9451",2020-09-18,20.18,248,51,5\n"9452",2020-09-19,19.52,285,52,5\n"9453",2020-09-18,20.02,1296,53,5\n"9454",2020-09-05,20.31,899,54,5\n"9455",2020-09-02,20.57,200,55,5\n"9456",2020-09-21,19.23,479,56,5\n"9457",2020-09-04,20.29,698,57,5\n"9458",2020-09-09,21.62,194,58,5\n"9459",2020-09-13,20.35,279,59,5\n"9460",2020-09-24,20.44,274,60,5\n"9461",2020-09-20,20.26,367,61,5\n"9462",2020-09-12,20.02,509,62,5\n"9463",2020-09-04,19,483,63,5\n"9464",2020-09-08,20.46,654,64,5\n"9465",2020-09-25,19.74,255,65,5\n"9466",2020-09-03,19.13,385,66,5\n"9467",2020-09-08,19.4,269,67,5\n"9468",2020-09-21,20.58,402,68,5\n"9469",2020-09-22,19.69,556,69,5\n"9470",2020-09-21,19.6,468,70,5\n"9471",2020-09-18,19.6,618,71,5\n"9472",2020-09-02,20.26,654,72,5\n"9473",2020-09-02,18.87,444,73,5\n"9474",2020-09-27,20.82,454,74,5\n"9475",2020-09-19,21.13,178,75,5\n"9476",2020-09-28,19.79,441,76,5\n"9477",2020-09-04,19.62,270,77,5\n"9478",2020-09-04,20.32,200,78,5\n"9479",2020-09-05,21.29,246,79,5\n"9480",2020-09-12,20.88,619,80,5\n"9481",2020-09-07,19.54,280,81,5\n"9482",2020-09-23,20.36,440,82,5\n"9483",2020-09-24,19.55,395,83,5\n"9484",2020-09-02,21.14,1860,84,5\n"9485",2020-09-17,20.33,628,85,5\n"9486",2020-09-29,20.66,803,86,5\n"9487",2020-09-23,19.75,284,87,5\n"9488",2020-09-20,20.74,795,88,5\n"9489",2020-09-17,19.81,1282,89,5\n"9490",2020-09-02,20.11,563,90,5\n"9491",2020-09-27,19.78,146,91,5\n"9492",2020-09-19,20.73,1133,92,5\n"9493",2020-09-05,19.94,591,93,5\n"9494",2020-09-23,20.21,919,94,5\n"9495",2020-09-18,20.6,635,95,5\n"9496",2020-09-08,19.86,372,96,5\n"9497",2020-09-22,20.43,190,97,5\n"9498",2020-09-22,20.66,484,98,5\n"9499",2020-09-06,19.82,729,99,5\n"9500",2020-09-24,20.3,526,100,5\n"9501",2020-09-04,19.4,401,1,6\n"9502",2020-09-15,19.62,503,2,6\n"9503",2020-09-13,19.86,525,3,6\n"9504",2020-09-07,21.38,813,4,6\n"9505",2020-09-14,20.08,182,5,6\n"9506",2020-09-25,20.84,348,6,6\n"9507",2020-09-17,19.75,573,7,6\n"9508",2020-09-11,20.57,330,8,6\n"9509",2020-09-26,20.43,902,9,6\n"9510",2020-09-05,20.09,173,10,6\n"9511",2020-09-02,20.86,288,11,6\n"9512",2020-09-18,19.67,552,12,6\n"9513",2020-09-25,19.74,549,13,6\n"9514",2020-09-21,19.93,402,14,6\n"9515",2020-09-27,20.17,810,15,6\n"9516",2020-09-06,20.75,232,16,6\n"9517",2020-09-17,19.86,575,17,6\n"9518",2020-09-10,19.85,251,18,6\n"9519",2020-09-03,19.55,344,19,6\n"9520",2020-09-23,20.21,490,20,6\n"9521",2020-09-02,20.18,168,21,6\n"9522",2020-09-17,19.5,542,22,6\n"9523",2020-09-23,19.91,492,23,6\n"9524",2020-09-16,19.54,401,24,6\n"9525",2020-09-27,20.46,482,25,6\n"9526",2020-09-30,20.39,375,26,6\n"9527",2020-09-15,20.54,645,27,6\n"9528",2020-09-24,19.54,234,28,6\n"9529",2020-09-03,19.96,553,29,6\n"9530",2020-09-18,18.75,302,30,6\n"9531",2020-09-14,20.26,338,31,6\n"9532",2020-09-25,20.58,457,32,6\n"9533",2020-09-22,20.28,272,33,6\n"9534",2020-09-12,20.56,1216,34,6\n"9535",2020-09-09,20.61,674,35,6\n"9536",2020-09-10,20.06,190,36,6\n"9537",2020-09-18,21.37,389,37,6\n"9538",2020-09-15,20.02,482,38,6\n"9539",2020-09-22,20.36,575,39,6\n"9540",2020-09-11,20.45,660,40,6\n"9541",2020-09-19,20.87,1018,41,6\n"9542",2020-09-18,19.97,277,42,6\n"9543",2020-09-05,20.63,316,43,6\n"9544",2020-09-23,19.46,713,44,6\n"9545",2020-09-11,20.77,626,45,6\n"9546",2020-09-23,20.38,270,46,6\n"9547",2020-09-03,21.36,268,47,6\n"9548",2020-09-13,20.22,440,48,6\n"9549",2020-09-24,19.79,142,49,6\n"9550",2020-09-16,21.39,313,50,6\n"9551",2020-09-18,19.47,439,51,6\n"9552",2020-09-19,20.64,321,52,6\n"9553",2020-09-18,21.75,228,53,6\n"9554",2020-09-05,20.1,931,54,6\n"9555",2020-09-02,20.7,224,55,6\n"9556",2020-09-21,19.19,299,56,6\n"9557",2020-09-04,20.5,722,57,6\n"9558",2020-09-09,20,292,58,6\n"9559",2020-09-13,20.01,407,59,6\n"9560",2020-09-24,20.63,409,60,6\n"9561",2020-09-20,19.9,312,61,6\n"9562",2020-09-12,20.27,295,62,6\n"9563",2020-09-04,18.76,293,63,6\n"9564",2020-09-08,19.88,195,64,6\n"9565",2020-09-25,21.21,528,65,6\n"9566",2020-09-03,20.97,209,66,6\n"9567",2020-09-08,20.17,406,67,6\n"9568",2020-09-21,20.9,670,68,6\n"9569",2020-09-22,20.57,350,69,6\n"9570",2020-09-21,20.17,526,70,6\n"9571",2020-09-18,19.71,690,71,6\n"9572",2020-09-02,19.85,586,72,6\n"9573",2020-09-02,20.49,564,73,6\n"9574",2020-09-27,19.98,931,74,6\n"9575",2020-09-19,20.16,374,75,6\n"9576",2020-09-28,20.68,210,76,6\n"9577",2020-09-04,19.87,1730,77,6\n"9578",2020-09-04,19.97,216,78,6\n"9579",2020-09-05,20.86,674,79,6\n"9580",2020-09-12,19.45,307,80,6\n"9581",2020-09-07,20.84,834,81,6\n"9582",2020-09-23,19.42,430,82,6\n"9583",2020-09-24,20.22,864,83,6\n"9584",2020-09-02,19.97,963,84,6\n"9585",2020-09-17,21.55,122,85,6\n"9586",2020-09-29,20.06,675,86,6\n"9587",2020-09-23,19.48,758,87,6\n"9588",2020-09-20,19.03,236,88,6\n"9589",2020-09-17,19.9,753,89,6\n"9590",2020-09-02,20.89,221,90,6\n"9591",2020-09-27,20.39,531,91,6\n"9592",2020-09-19,20.15,577,92,6\n"9593",2020-09-05,20.34,220,93,6\n"9594",2020-09-23,21.18,528,94,6\n"9595",2020-09-18,20.8,274,95,6\n"9596",2020-09-08,19.96,335,96,6\n"9597",2020-09-22,19.56,467,97,6\n"9598",2020-09-22,19.63,711,98,6\n"9599",2020-09-06,20.02,651,99,6\n"9600",2020-09-24,20.38,595,100,6\n"9601",2020-09-04,19.67,576,1,7\n"9602",2020-09-15,21,875,2,7\n"9603",2020-09-13,19.99,541,3,7\n"9604",2020-09-07,19.88,837,4,7\n"9605",2020-09-14,19.39,362,5,7\n"9606",2020-09-25,20.06,846,6,7\n"9607",2020-09-17,19.44,435,7,7\n"9608",2020-09-11,21.48,639,8,7\n"9609",2020-09-26,20.2,204,9,7\n"9610",2020-09-05,20.16,410,10,7\n"9611",2020-09-02,20.25,907,11,7\n"9612",2020-09-18,20,788,12,7\n"9613",2020-09-25,19.71,894,13,7\n"9614",2020-09-21,19.67,546,14,7\n"9615",2020-09-27,20.38,195,15,7\n"9616",2020-09-06,20.47,389,16,7\n"9617",2020-09-17,20.64,188,17,7\n"9618",2020-09-10,20.01,397,18,7\n"9619",2020-09-03,19.85,270,19,7\n"9620",2020-09-23,19.97,130,20,7\n"9621",2020-09-02,19.44,267,21,7\n"9622",2020-09-17,19.66,298,22,7\n"9623",2020-09-23,21.4,295,23,7\n"9624",2020-09-16,20.75,188,24,7\n"9625",2020-09-27,19.94,410,25,7\n"9626",2020-09-30,20.03,1051,26,7\n"9627",2020-09-15,20.65,691,27,7\n"9628",2020-09-24,19.96,933,28,7\n"9629",2020-09-03,20.9,537,29,7\n"9630",2020-09-18,19.35,605,30,7\n"9631",2020-09-14,20.27,602,31,7\n"9632",2020-09-25,20.91,326,32,7\n"9633",2020-09-22,20.22,486,33,7\n"9634",2020-09-12,19.77,454,34,7\n"9635",2020-09-09,20.28,819,35,7\n"9636",2020-09-10,20.55,285,36,7\n"9637",2020-09-18,19.83,403,37,7\n"9638",2020-09-15,20.85,816,38,7\n"9639",2020-09-22,19.19,356,39,7\n"9640",2020-09-11,20.52,449,40,7\n"9641",2020-09-19,20.73,753,41,7\n"9642",2020-09-18,20,581,42,7\n"9643",2020-09-05,19.89,297,43,7\n"9644",2020-09-23,20.05,1009,44,7\n"9645",2020-09-11,19.93,537,45,7\n"9646",2020-09-23,19.52,142,46,7\n"9647",2020-09-03,20.43,216,47,7\n"9648",2020-09-13,19.58,229,48,7\n"9649",2020-09-24,19.69,258,49,7\n"9650",2020-09-16,19.94,1216,50,7\n"9651",2020-09-18,20.2,273,51,7\n"9652",2020-09-19,20.23,452,52,7\n"9653",2020-09-18,19.62,608,53,7\n"9654",2020-09-05,20.54,443,54,7\n"9655",2020-09-02,20.07,166,55,7\n"9656",2020-09-21,19.05,500,56,7\n"9657",2020-09-04,20.48,540,57,7\n"9658",2020-09-09,20.89,203,58,7\n"9659",2020-09-13,20.15,529,59,7\n"9660",2020-09-24,19.24,309,60,7\n"9661",2020-09-20,20.72,285,61,7\n"9662",2020-09-12,20.85,208,62,7\n"9663",2020-09-04,20.09,638,63,7\n"9664",2020-09-08,21,226,64,7\n"9665",2020-09-25,21.73,686,65,7\n"9666",2020-09-03,20.46,764,66,7\n"9667",2020-09-08,20.09,584,67,7\n"9668",2020-09-21,20.09,244,68,7\n"9669",2020-09-22,21.1,329,69,7\n"9670",2020-09-21,20.01,326,70,7\n"9671",2020-09-18,20.45,399,71,7\n"9672",2020-09-02,20.37,507,72,7\n"9673",2020-09-02,20.1,744,73,7\n"9674",2020-09-27,19.68,232,74,7\n"9675",2020-09-19,19.49,387,75,7\n"9676",2020-09-28,19.45,759,76,7\n"9677",2020-09-04,19.5,536,77,7\n"9678",2020-09-04,19.26,541,78,7\n"9679",2020-09-05,20.72,733,79,7\n"9680",2020-09-12,20.17,532,80,7\n"9681",2020-09-07,19.74,511,81,7\n"9682",2020-09-23,20.16,346,82,7\n"9683",2020-09-24,20.08,661,83,7\n"9684",2020-09-02,19.59,1029,84,7\n"9685",2020-09-17,20.17,989,85,7\n"9686",2020-09-29,20.3,239,86,7\n"9687",2020-09-23,20.27,249,87,7\n"9688",2020-09-20,19.55,140,88,7\n"9689",2020-09-17,19.88,795,89,7\n"9690",2020-09-02,18.57,319,90,7\n"9691",2020-09-27,21,395,91,7\n"9692",2020-09-19,20.1,1070,92,7\n"9693",2020-09-05,20.61,1113,93,7\n"9694",2020-09-23,20.33,606,94,7\n"9695",2020-09-18,20.92,819,95,7\n"9696",2020-09-08,20.38,392,96,7\n"9697",2020-09-22,21.06,1466,97,7\n"9698",2020-09-22,19.29,752,98,7\n"9699",2020-09-06,20.18,298,99,7\n"9700",2020-09-24,20.57,1236,100,7\n"9701",2020-09-04,20.98,245,1,8\n"9702",2020-09-15,19.92,920,2,8\n"9703",2020-09-13,20.61,659,3,8\n"9704",2020-09-07,20.47,486,4,8\n"9705",2020-09-14,19.9,592,5,8\n"9706",2020-09-25,21.06,275,6,8\n"9707",2020-09-17,20.84,184,7,8\n"9708",2020-09-11,21.09,688,8,8\n"9709",2020-09-26,21.33,229,9,8\n"9710",2020-09-05,20.39,254,10,8\n"9711",2020-09-02,20.38,277,11,8\n"9712",2020-09-18,21.38,154,12,8\n"9713",2020-09-25,19.68,313,13,8\n"9714",2020-09-21,19.79,624,14,8\n"9715",2020-09-27,19.89,396,15,8\n"9716",2020-09-06,20.35,194,16,8\n"9717",2020-09-17,19.66,252,17,8\n"9718",2020-09-10,20.32,804,18,8\n"9719",2020-09-03,19.75,549,19,8\n"9720",2020-09-23,20.14,384,20,8\n"9721",2020-09-02,20.53,409,21,8\n"9722",2020-09-17,20.35,437,22,8\n"9723",2020-09-23,20.17,192,23,8\n"9724",2020-09-16,21.05,404,24,8\n"9725",2020-09-27,20.91,731,25,8\n"9726",2020-09-30,20.16,441,26,8\n"9727",2020-09-15,20.73,338,27,8\n"9728",2020-09-24,20.12,644,28,8\n"9729",2020-09-03,19.65,548,29,8\n"9730",2020-09-18,20.02,596,30,8\n"9731",2020-09-14,19.86,263,31,8\n"9732",2020-09-25,20.33,195,32,8\n"9733",2020-09-22,20.78,678,33,8\n"9734",2020-09-12,20.15,422,34,8\n"9735",2020-09-09,20.13,217,35,8\n"9736",2020-09-10,19.99,388,36,8\n"9737",2020-09-18,19.31,595,37,8\n"9738",2020-09-15,19.01,524,38,8\n"9739",2020-09-22,19.3,168,39,8\n"9740",2020-09-11,20.36,612,40,8\n"9741",2020-09-19,20.62,1394,41,8\n"9742",2020-09-18,19.79,391,42,8\n"9743",2020-09-05,19.9,223,43,8\n"9744",2020-09-23,19.48,422,44,8\n"9745",2020-09-11,20.53,657,45,8\n"9746",2020-09-23,20.02,274,46,8\n"9747",2020-09-03,19.57,442,47,8\n"9748",2020-09-13,19.91,1053,48,8\n"9749",2020-09-24,20.83,363,49,8\n"9750",2020-09-16,19.52,225,50,8\n"9751",2020-09-18,19.36,609,51,8\n"9752",2020-09-19,21.06,225,52,8\n"9753",2020-09-18,19.65,350,53,8\n"9754",2020-09-05,20.35,667,54,8\n"9755",2020-09-02,19.89,319,55,8\n"9756",2020-09-21,20.28,464,56,8\n"9757",2020-09-04,20.06,194,57,8\n"9758",2020-09-09,20.1,206,58,8\n"9759",2020-09-13,19.75,342,59,8\n"9760",2020-09-24,19.5,1125,60,8\n"9761",2020-09-20,21.14,495,61,8\n"9762",2020-09-12,19.46,360,62,8\n"9763",2020-09-04,21,905,63,8\n"9764",2020-09-08,19.93,191,64,8\n"9765",2020-09-25,18.74,394,65,8\n"9766",2020-09-03,20.28,360,66,8\n"9767",2020-09-08,20.56,542,67,8\n"9768",2020-09-21,19.25,572,68,8\n"9769",2020-09-22,21.19,735,69,8\n"9770",2020-09-21,19.69,260,70,8\n"9771",2020-09-18,20.4,638,71,8\n"9772",2020-09-02,19.67,918,72,8\n"9773",2020-09-02,20.84,631,73,8\n"9774",2020-09-27,19.78,834,74,8\n"9775",2020-09-19,20.06,564,75,8\n"9776",2020-09-28,20.26,356,76,8\n"9777",2020-09-04,20.47,216,77,8\n"9778",2020-09-04,20.91,566,78,8\n"9779",2020-09-05,20.64,490,79,8\n"9780",2020-09-12,20.71,439,80,8\n"9781",2020-09-07,20.03,610,81,8\n"9782",2020-09-23,19.84,368,82,8\n"9783",2020-09-24,20.34,1256,83,8\n"9784",2020-09-02,21.06,256,84,8\n"9785",2020-09-17,21.22,381,85,8\n"9786",2020-09-29,20.34,266,86,8\n"9787",2020-09-23,19.84,891,87,8\n"9788",2020-09-20,20.23,486,88,8\n"9789",2020-09-17,19.73,598,89,8\n"9790",2020-09-02,20.82,350,90,8\n"9791",2020-09-27,20.07,591,91,8\n"9792",2020-09-19,20.08,560,92,8\n"9793",2020-09-05,20.03,438,93,8\n"9794",2020-09-23,20.25,826,94,8\n"9795",2020-09-18,19.46,319,95,8\n"9796",2020-09-08,20.61,947,96,8\n"9797",2020-09-22,21.34,847,97,8\n"9798",2020-09-22,20.96,211,98,8\n"9799",2020-09-06,20.51,370,99,8\n"9800",2020-09-24,20.52,363,100,8\n"9801",2020-09-04,20.39,250,1,9\n"9802",2020-09-15,20.33,383,2,9\n"9803",2020-09-13,20.76,316,3,9\n"9804",2020-09-07,19.78,629,4,9\n"9805",2020-09-14,20.68,333,5,9\n"9806",2020-09-25,20.61,742,6,9\n"9807",2020-09-17,21.23,585,7,9\n"9808",2020-09-11,20.82,313,8,9\n"9809",2020-09-26,20.2,544,9,9\n"9810",2020-09-05,20.51,507,10,9\n"9811",2020-09-02,21.07,799,11,9\n"9812",2020-09-18,20.06,575,12,9\n"9813",2020-09-25,20.84,401,13,9\n"9814",2020-09-21,21.07,777,14,9\n"9815",2020-09-27,20.47,334,15,9\n"9816",2020-09-06,20.25,410,16,9\n"9817",2020-09-17,20.87,393,17,9\n"9818",2020-09-10,20.12,1560,18,9\n"9819",2020-09-03,20.5,615,19,9\n"9820",2020-09-23,20.42,617,20,9\n"9821",2020-09-02,19.29,408,21,9\n"9822",2020-09-17,20.5,289,22,9\n"9823",2020-09-23,20.88,713,23,9\n"9824",2020-09-16,19.39,1511,24,9\n"9825",2020-09-27,19.55,302,25,9\n"9826",2020-09-30,20.36,125,26,9\n"9827",2020-09-15,19.82,237,27,9\n"9828",2020-09-24,20.14,423,28,9\n"9829",2020-09-03,21.18,646,29,9\n"9830",2020-09-18,20.17,307,30,9\n"9831",2020-09-14,19.5,434,31,9\n"9832",2020-09-25,20.61,669,32,9\n"9833",2020-09-22,20.21,407,33,9\n"9834",2020-09-12,20.75,431,34,9\n"9835",2020-09-09,21.36,510,35,9\n"9836",2020-09-10,20.52,650,36,9\n"9837",2020-09-18,19.42,818,37,9\n"9838",2020-09-15,20.1,205,38,9\n"9839",2020-09-22,19.74,272,39,9\n"9840",2020-09-11,19.99,254,40,9\n"9841",2020-09-19,20.71,498,41,9\n"9842",2020-09-18,19.94,423,42,9\n"9843",2020-09-05,20.88,1173,43,9\n"9844",2020-09-23,19.58,559,44,9\n"9845",2020-09-11,20.64,355,45,9\n"9846",2020-09-23,20.2,321,46,9\n"9847",2020-09-03,20.97,144,47,9\n"9848",2020-09-13,21.17,885,48,9\n"9849",2020-09-24,20.89,563,49,9\n"9850",2020-09-16,19.73,213,50,9\n"9851",2020-09-18,19.84,539,51,9\n"9852",2020-09-19,19.22,552,52,9\n"9853",2020-09-18,20.49,311,53,9\n"9854",2020-09-05,21.13,798,54,9\n"9855",2020-09-02,21.71,338,55,9\n"9856",2020-09-21,20.2,439,56,9\n"9857",2020-09-04,19.79,1128,57,9\n"9858",2020-09-09,19.43,817,58,9\n"9859",2020-09-13,19.84,336,59,9\n"9860",2020-09-24,19.8,493,60,9\n"9861",2020-09-20,19.5,165,61,9\n"9862",2020-09-12,20.07,441,62,9\n"9863",2020-09-04,20.33,257,63,9\n"9864",2020-09-08,20.21,507,64,9\n"9865",2020-09-25,19.17,147,65,9\n"9866",2020-09-03,19.85,341,66,9\n"9867",2020-09-08,21.74,166,67,9\n"9868",2020-09-21,20.88,571,68,9\n"9869",2020-09-22,20.56,1262,69,9\n"9870",2020-09-21,21.28,494,70,9\n"9871",2020-09-18,20.75,312,71,9\n"9872",2020-09-02,21.51,578,72,9\n"9873",2020-09-02,21.16,531,73,9\n"9874",2020-09-27,19.71,373,74,9\n"9875",2020-09-19,20.64,478,75,9\n"9876",2020-09-28,19.72,225,76,9\n"9877",2020-09-04,19.88,296,77,9\n"9878",2020-09-04,20.4,481,78,9\n"9879",2020-09-05,20.47,375,79,9\n"9880",2020-09-12,20.18,276,80,9\n"9881",2020-09-07,21.24,407,81,9\n"9882",2020-09-23,20.82,509,82,9\n"9883",2020-09-24,21.32,242,83,9\n"9884",2020-09-02,20.41,665,84,9\n"9885",2020-09-17,19.29,275,85,9\n"9886",2020-09-29,20.47,454,86,9\n"9887",2020-09-23,20.78,303,87,9\n"9888",2020-09-20,20.4,547,88,9\n"9889",2020-09-17,19.61,363,89,9\n"9890",2020-09-02,19.88,655,90,9\n"9891",2020-09-27,21.04,233,91,9\n"9892",2020-09-19,20.2,136,92,9\n"9893",2020-09-05,19.92,475,93,9\n"9894",2020-09-23,19.54,824,94,9\n"9895",2020-09-18,20.59,139,95,9\n"9896",2020-09-08,20.2,513,96,9\n"9897",2020-09-22,19.87,168,97,9\n"9898",2020-09-22,20.09,176,98,9\n"9899",2020-09-06,19.57,521,99,9\n"9900",2020-09-24,20.09,203,100,9\n"9901",2020-09-04,21.15,709,1,10\n"9902",2020-09-15,19.12,733,2,10\n"9903",2020-09-13,19.72,658,3,10\n"9904",2020-09-07,20.82,156,4,10\n"9905",2020-09-14,19.43,243,5,10\n"9906",2020-09-25,20.39,1268,6,10\n"9907",2020-09-17,19.55,998,7,10\n"9908",2020-09-11,19.8,199,8,10\n"9909",2020-09-26,20.59,573,9,10\n"9910",2020-09-05,20.27,132,10,10\n"9911",2020-09-02,19.66,207,11,10\n"9912",2020-09-18,19.64,780,12,10\n"9913",2020-09-25,19.5,612,13,10\n"9914",2020-09-21,20.02,575,14,10\n"9915",2020-09-27,20.53,773,15,10\n"9916",2020-09-06,21.2,350,16,10\n"9917",2020-09-17,19.98,671,17,10\n"9918",2020-09-10,20.96,1240,18,10\n"9919",2020-09-03,20.41,191,19,10\n"9920",2020-09-23,20,1041,20,10\n"9921",2020-09-02,20.4,856,21,10\n"9922",2020-09-17,20.12,449,22,10\n"9923",2020-09-23,20.38,267,23,10\n"9924",2020-09-16,19.79,527,24,10\n"9925",2020-09-27,20,244,25,10\n"9926",2020-09-30,21.5,381,26,10\n"9927",2020-09-15,20.77,210,27,10\n"9928",2020-09-24,18.65,270,28,10\n"9929",2020-09-03,21.66,200,29,10\n"9930",2020-09-18,20.64,676,30,10\n"9931",2020-09-14,19.13,1212,31,10\n"9932",2020-09-25,19.92,971,32,10\n"9933",2020-09-22,20.21,298,33,10\n"9934",2020-09-12,21.01,439,34,10\n"9935",2020-09-09,19.59,173,35,10\n"9936",2020-09-10,20.11,674,36,10\n"9937",2020-09-18,20.83,586,37,10\n"9938",2020-09-15,20.67,406,38,10\n"9939",2020-09-22,20.99,634,39,10\n"9940",2020-09-11,20.24,277,40,10\n"9941",2020-09-19,20.96,548,41,10\n"9942",2020-09-18,20.43,257,42,10\n"9943",2020-09-05,20.62,208,43,10\n"9944",2020-09-23,20.37,601,44,10\n"9945",2020-09-11,20.83,439,45,10\n"9946",2020-09-23,19.88,754,46,10\n"9947",2020-09-03,20.11,66,47,10\n"9948",2020-09-13,21.54,1308,48,10\n"9949",2020-09-24,20.72,1163,49,10\n"9950",2020-09-16,20.96,139,50,10\n"9951",2020-09-18,20.69,384,51,10\n"9952",2020-09-19,20.79,220,52,10\n"9953",2020-09-18,20.07,281,53,10\n"9954",2020-09-05,19.59,227,54,10\n"9955",2020-09-02,19.82,208,55,10\n"9956",2020-09-21,19.16,951,56,10\n"9957",2020-09-04,18.95,1215,57,10\n"9958",2020-09-09,21.4,263,58,10\n"9959",2020-09-13,20.47,640,59,10\n"9960",2020-09-24,21.2,294,60,10\n"9961",2020-09-20,21.38,470,61,10\n"9962",2020-09-12,21.93,1279,62,10\n"9963",2020-09-04,20.75,398,63,10\n"9964",2020-09-08,20.9,783,64,10\n"9965",2020-09-25,20.1,911,65,10\n"9966",2020-09-03,20.47,289,66,10\n"9967",2020-09-08,19.3,426,67,10\n"9968",2020-09-21,22.7,145,68,10\n"9969",2020-09-22,20.28,110,69,10\n"9970",2020-09-21,19.87,842,70,10\n"9971",2020-09-18,21.42,515,71,10\n"9972",2020-09-02,20.18,1412,72,10\n"9973",2020-09-02,20.37,435,73,10\n"9974",2020-09-27,20.21,812,74,10\n"9975",2020-09-19,20.44,667,75,10\n"9976",2020-09-28,20.95,297,76,10\n"9977",2020-09-04,20.24,145,77,10\n"9978",2020-09-04,19.2,550,78,10\n"9979",2020-09-05,20.81,326,79,10\n"9980",2020-09-12,20.69,336,80,10\n"9981",2020-09-07,20.43,478,81,10\n"9982",2020-09-23,19.65,826,82,10\n"9983",2020-09-24,20.17,557,83,10\n"9984",2020-09-02,20.92,760,84,10\n"9985",2020-09-17,19.79,384,85,10\n"9986",2020-09-29,20.86,526,86,10\n"9987",2020-09-23,21.24,606,87,10\n"9988",2020-09-20,20.06,343,88,10\n"9989",2020-09-17,19.65,504,89,10\n"9990",2020-09-02,20.21,170,90,10\n"9991",2020-09-27,19.93,458,91,10\n"9992",2020-09-19,19.09,448,92,10\n"9993",2020-09-05,21.16,170,93,10\n"9994",2020-09-23,20.98,339,94,10\n"9995",2020-09-18,19.09,684,95,10\n"9996",2020-09-08,19.72,132,96,10\n"9997",2020-09-22,21.54,925,97,10\n"9998",2020-09-22,19.88,896,98,10\n"9999",2020-09-06,18.72,600,99,10\n"10000",2020-09-24,19.7,326,100,10\n"10001",2020-10-15,21.4,339,1,1\n"10002",2020-10-28,20.34,821,2,1\n"10003",2020-10-12,20.78,360,3,1\n"10004",2020-10-28,20.69,695,4,1\n"10005",2020-10-04,21.19,641,5,1\n"10006",2020-10-20,21.34,639,6,1\n"10007",2020-10-08,19.85,544,7,1\n"10008",2020-10-26,20.51,271,8,1\n"10009",2020-10-19,20.78,929,9,1\n"10010",2020-10-12,20.62,429,10,1\n"10011",2020-10-19,21.05,1029,11,1\n"10012",2020-10-28,19.95,209,12,1\n"10013",2020-10-08,20.93,637,13,1\n"10014",2020-10-30,20.77,401,14,1\n"10015",2020-10-20,21.32,342,15,1\n"10016",2020-10-01,21.73,670,16,1\n"10017",2020-10-24,20.1,332,17,1\n"10018",2020-10-06,20.09,505,18,1\n"10019",2020-10-03,21.12,462,19,1\n"10020",2020-10-08,20.55,378,20,1\n"10021",2020-10-02,20.49,555,21,1\n"10022",2020-10-21,22.08,258,22,1\n"10023",2020-10-25,20.36,335,23,1\n"10024",2020-10-10,20.01,652,24,1\n"10025",2020-10-17,20.98,292,25,1\n"10026",2020-10-27,20.92,487,26,1\n"10027",2020-10-12,21.07,604,27,1\n"10028",2020-10-21,21.45,304,28,1\n"10029",2020-10-02,21.24,492,29,1\n"10030",2020-10-15,20.83,466,30,1\n"10031",2020-10-15,20.95,398,31,1\n"10032",2020-10-19,21.19,474,32,1\n"10033",2020-10-23,21.79,555,33,1\n"10034",2020-10-05,20.61,1391,34,1\n"10035",2020-10-17,20.6,974,35,1\n"10036",2020-10-27,21.41,509,36,1\n"10037",2020-10-09,20.34,855,37,1\n"10038",2020-10-09,21.62,466,38,1\n"10039",2020-10-14,21.36,698,39,1\n"10040",2020-10-18,20.83,640,40,1\n"10041",2020-10-27,20.34,986,41,1\n"10042",2020-10-22,20.81,722,42,1\n"10043",2020-10-29,20.94,726,43,1\n"10044",2020-10-15,21.65,435,44,1\n"10045",2020-10-08,19.86,779,45,1\n"10046",2020-10-20,21.4,310,46,1\n"10047",2020-10-19,20.77,790,47,1\n"10048",2020-10-22,20.28,308,48,1\n"10049",2020-10-19,20.91,588,49,1\n"10050",2020-10-31,21.38,358,50,1\n"10051",2020-10-18,20.74,469,51,1\n"10052",2020-10-06,21.81,1050,52,1\n"10053",2020-10-19,22.5,571,53,1\n"10054",2020-10-15,21.58,526,54,1\n"10055",2020-10-25,20.56,1287,55,1\n"10056",2020-10-31,21.82,393,56,1\n"10057",2020-10-13,21.17,319,57,1\n"10058",2020-10-18,20.64,621,58,1\n"10059",2020-10-15,21.07,453,59,1\n"10060",2020-10-02,20.91,231,60,1\n"10061",2020-10-26,21.49,534,61,1\n"10062",2020-10-08,21.01,289,62,1\n"10063",2020-10-15,21.41,537,63,1\n"10064",2020-10-08,20.98,667,64,1\n"10065",2020-10-21,21.43,485,65,1\n"10066",2020-10-04,21.43,499,66,1\n"10067",2020-10-30,20.32,527,67,1\n"10068",2020-10-21,20.51,655,68,1\n"10069",2020-10-19,20.17,468,69,1\n"10070",2020-10-22,18.98,684,70,1\n"10071",2020-10-21,21.74,371,71,1\n"10072",2020-10-20,21.53,487,72,1\n"10073",2020-10-03,20.55,599,73,1\n"10074",2020-10-13,20.42,1059,74,1\n"10075",2020-10-08,21.28,636,75,1\n"10076",2020-10-25,20.08,1445,76,1\n"10077",2020-10-29,20.71,383,77,1\n"10078",2020-10-29,21.14,1395,78,1\n"10079",2020-10-10,21.87,437,79,1\n"10080",2020-10-11,20.52,565,80,1\n"10081",2020-10-21,20.34,737,81,1\n"10082",2020-10-25,20.89,259,82,1\n"10083",2020-10-26,21.32,632,83,1\n"10084",2020-10-30,20.58,592,84,1\n"10085",2020-10-26,20.76,939,85,1\n"10086",2020-10-05,21.6,755,86,1\n"10087",2020-10-04,22.01,684,87,1\n"10088",2020-10-20,21.52,528,88,1\n"10089",2020-10-05,20.92,728,89,1\n"10090",2020-10-03,21.6,253,90,1\n"10091",2020-10-02,21.98,776,91,1\n"10092",2020-10-17,21.14,152,92,1\n"10093",2020-10-29,20.96,1051,93,1\n"10094",2020-10-29,20.67,284,94,1\n"10095",2020-10-17,21.17,354,95,1\n"10096",2020-10-11,21.26,515,96,1\n"10097",2020-10-09,20.12,546,97,1\n"10098",2020-10-11,21.22,569,98,1\n"10099",2020-10-31,20.86,465,99,1\n"10100",2020-10-21,21.09,129,100,1\n"10101",2020-10-15,20.41,433,1,2\n"10102",2020-10-28,21.15,274,2,2\n"10103",2020-10-12,20.28,443,3,2\n"10104",2020-10-28,20.42,255,4,2\n"10105",2020-10-04,20.88,164,5,2\n"10106",2020-10-20,21.78,513,6,2\n"10107",2020-10-08,22.44,534,7,2\n"10108",2020-10-26,20.81,364,8,2\n"10109",2020-10-19,22.29,892,9,2\n"10110",2020-10-12,19.97,713,10,2\n"10111",2020-10-19,19.47,597,11,2\n"10112",2020-10-28,21.18,543,12,2\n"10113",2020-10-08,19.63,1379,13,2\n"10114",2020-10-30,20.52,507,14,2\n"10115",2020-10-20,20.24,267,15,2\n"10116",2020-10-01,21.18,596,16,2\n"10117",2020-10-24,21.06,863,17,2\n"10118",2020-10-06,21.21,590,18,2\n"10119",2020-10-03,20.85,395,19,2\n"10120",2020-10-08,20.53,1427,20,2\n"10121",2020-10-02,22.58,287,21,2\n"10122",2020-10-21,20.84,257,22,2\n"10123",2020-10-25,21.69,803,23,2\n"10124",2020-10-10,20.45,666,24,2\n"10125",2020-10-17,22.31,571,25,2\n"10126",2020-10-27,20.96,751,26,2\n"10127",2020-10-12,20.79,522,27,2\n"10128",2020-10-21,21.74,566,28,2\n"10129",2020-10-02,20.98,403,29,2\n"10130",2020-10-15,21.41,229,30,2\n"10131",2020-10-15,21.37,472,31,2\n"10132",2020-10-19,21,1580,32,2\n"10133",2020-10-23,20.35,231,33,2\n"10134",2020-10-05,20.19,339,34,2\n"10135",2020-10-17,20.63,190,35,2\n"10136",2020-10-27,21.29,309,36,2\n"10137",2020-10-09,22.28,357,37,2\n"10138",2020-10-09,20.84,817,38,2\n"10139",2020-10-14,20.99,460,39,2\n"10140",2020-10-18,20.59,623,40,2\n"10141",2020-10-27,21.22,507,41,2\n"10142",2020-10-22,22.26,573,42,2\n"10143",2020-10-29,20.2,346,43,2\n"10144",2020-10-15,20.64,824,44,2\n"10145",2020-10-08,21.13,211,45,2\n"10146",2020-10-20,20.49,570,46,2\n"10147",2020-10-19,20.98,215,47,2\n"10148",2020-10-22,20.29,1868,48,2\n"10149",2020-10-19,19.66,526,49,2\n"10150",2020-10-31,20.97,332,50,2\n"10151",2020-10-18,21.12,403,51,2\n"10152",2020-10-06,21.95,566,52,2\n"10153",2020-10-19,20.66,290,53,2\n"10154",2020-10-15,21.17,995,54,2\n"10155",2020-10-25,20.92,1077,55,2\n"10156",2020-10-31,20.98,932,56,2\n"10157",2020-10-13,21.3,1132,57,2\n"10158",2020-10-18,20.61,595,58,2\n"10159",2020-10-15,21.11,947,59,2\n"10160",2020-10-02,20.28,377,60,2\n"10161",2020-10-26,21.31,467,61,2\n"10162",2020-10-08,21.67,963,62,2\n"10163",2020-10-15,19.64,706,63,2\n"10164",2020-10-08,20.87,586,64,2\n"10165",2020-10-21,21.22,429,65,2\n"10166",2020-10-04,22.02,299,66,2\n"10167",2020-10-30,20.32,483,67,2\n"10168",2020-10-21,22.26,423,68,2\n"10169",2020-10-19,21.31,253,69,2\n"10170",2020-10-22,20.95,788,70,2\n"10171",2020-10-21,20.91,220,71,2\n"10172",2020-10-20,22.28,1117,72,2\n"10173",2020-10-03,19.96,592,73,2\n"10174",2020-10-13,19.88,381,74,2\n"10175",2020-10-08,21.12,392,75,2\n"10176",2020-10-25,21.92,665,76,2\n"10177",2020-10-29,21.16,815,77,2\n"10178",2020-10-29,20.75,645,78,2\n"10179",2020-10-10,21.16,158,79,2\n"10180",2020-10-11,20.21,349,80,2\n"10181",2020-10-21,21.44,294,81,2\n"10182",2020-10-25,20.12,383,82,2\n"10183",2020-10-26,20.94,1706,83,2\n"10184",2020-10-30,20.46,377,84,2\n"10185",2020-10-26,21.15,925,85,2\n"10186",2020-10-05,20.52,305,86,2\n"10187",2020-10-04,21.26,360,87,2\n"10188",2020-10-20,21.06,499,88,2\n"10189",2020-10-05,21.85,579,89,2\n"10190",2020-10-03,20.06,592,90,2\n"10191",2020-10-02,19.96,747,91,2\n"10192",2020-10-17,21.22,248,92,2\n"10193",2020-10-29,21.33,349,93,2\n"10194",2020-10-29,21.51,526,94,2\n"10195",2020-10-17,20.92,752,95,2\n"10196",2020-10-11,20.74,526,96,2\n"10197",2020-10-09,21.63,578,97,2\n"10198",2020-10-11,20.74,582,98,2\n"10199",2020-10-31,21.31,480,99,2\n"10200",2020-10-21,20.99,363,100,2\n"10201",2020-10-15,22.34,326,1,3\n"10202",2020-10-28,21.09,403,2,3\n"10203",2020-10-12,20.94,555,3,3\n"10204",2020-10-28,21.54,247,4,3\n"10205",2020-10-04,21.23,387,5,3\n"10206",2020-10-20,21.48,679,6,3\n"10207",2020-10-08,21.34,471,7,3\n"10208",2020-10-26,21.83,428,8,3\n"10209",2020-10-19,19.7,692,9,3\n"10210",2020-10-12,21.19,1180,10,3\n"10211",2020-10-19,20.63,821,11,3\n"10212",2020-10-28,20.67,301,12,3\n"10213",2020-10-08,21.78,666,13,3\n"10214",2020-10-30,21.48,419,14,3\n"10215",2020-10-20,21.12,623,15,3\n"10216",2020-10-01,21.32,490,16,3\n"10217",2020-10-24,20.48,1675,17,3\n"10218",2020-10-06,22.03,814,18,3\n"10219",2020-10-03,20.79,576,19,3\n"10220",2020-10-08,21.47,240,20,3\n"10221",2020-10-02,21.52,719,21,3\n"10222",2020-10-21,20.9,650,22,3\n"10223",2020-10-25,21.38,562,23,3\n"10224",2020-10-10,21.37,431,24,3\n"10225",2020-10-17,20.42,1310,25,3\n"10226",2020-10-27,21.71,575,26,3\n"10227",2020-10-12,20.67,430,27,3\n"10228",2020-10-21,20.44,738,28,3\n"10229",2020-10-02,20.33,488,29,3\n"10230",2020-10-15,21.84,181,30,3\n"10231",2020-10-15,20.58,583,31,3\n"10232",2020-10-19,21.19,544,32,3\n"10233",2020-10-23,21.23,306,33,3\n"10234",2020-10-05,20.74,361,34,3\n"10235",2020-10-17,21.19,517,35,3\n"10236",2020-10-27,21.22,579,36,3\n"10237",2020-10-09,21.22,1569,37,3\n"10238",2020-10-09,20.67,415,38,3\n"10239",2020-10-14,20.87,454,39,3\n"10240",2020-10-18,21.32,1158,40,3\n"10241",2020-10-27,21.45,1891,41,3\n"10242",2020-10-22,22.53,486,42,3\n"10243",2020-10-29,20.54,192,43,3\n"10244",2020-10-15,22.15,442,44,3\n"10245",2020-10-08,20.92,960,45,3\n"10246",2020-10-20,21.56,640,46,3\n"10247",2020-10-19,19.24,323,47,3\n"10248",2020-10-22,21.32,334,48,3\n"10249",2020-10-19,21.25,440,49,3\n"10250",2020-10-31,21.84,546,50,3\n"10251",2020-10-18,21.46,749,51,3\n"10252",2020-10-06,21.35,501,52,3\n"10253",2020-10-19,20.52,522,53,3\n"10254",2020-10-15,20.69,680,54,3\n"10255",2020-10-25,20.79,604,55,3\n"10256",2020-10-31,21.11,630,56,3\n"10257",2020-10-13,22.05,285,57,3\n"10258",2020-10-18,20.31,1096,58,3\n"10259",2020-10-15,20.01,526,59,3\n"10260",2020-10-02,21.1,265,60,3\n"10261",2020-10-26,21,293,61,3\n"10262",2020-10-08,21.2,449,62,3\n"10263",2020-10-15,21.2,973,63,3\n"10264",2020-10-08,20.77,314,64,3\n"10265",2020-10-21,21.54,843,65,3\n"10266",2020-10-04,20.76,255,66,3\n"10267",2020-10-30,21.91,752,67,3\n"10268",2020-10-21,21.31,860,68,3\n"10269",2020-10-19,20.42,1277,69,3\n"10270",2020-10-22,21.71,420,70,3\n"10271",2020-10-21,20.53,411,71,3\n"10272",2020-10-20,20.88,534,72,3\n"10273",2020-10-03,20.66,480,73,3\n"10274",2020-10-13,20.52,346,74,3\n"10275",2020-10-08,22.08,788,75,3\n"10276",2020-10-25,20.57,354,76,3\n"10277",2020-10-29,21.11,309,77,3\n"10278",2020-10-29,20.38,756,78,3\n"10279",2020-10-10,21.1,495,79,3\n"10280",2020-10-11,21.28,307,80,3\n"10281",2020-10-21,19.31,566,81,3\n"10282",2020-10-25,20.89,617,82,3\n"10283",2020-10-26,21.55,857,83,3\n"10284",2020-10-30,20.51,492,84,3\n"10285",2020-10-26,20.56,747,85,3\n"10286",2020-10-05,20.55,628,86,3\n"10287",2020-10-04,21.27,1037,87,3\n"10288",2020-10-20,21.19,423,88,3\n"10289",2020-10-05,20.48,589,89,3\n"10290",2020-10-03,19.8,386,90,3\n"10291",2020-10-02,21.98,266,91,3\n"10292",2020-10-17,20.78,275,92,3\n"10293",2020-10-29,21.95,583,93,3\n"10294",2020-10-29,21.1,638,94,3\n"10295",2020-10-17,21.74,687,95,3\n"10296",2020-10-11,20.65,686,96,3\n"10297",2020-10-09,20.72,777,97,3\n"10298",2020-10-11,21.47,553,98,3\n"10299",2020-10-31,20.9,636,99,3\n"10300",2020-10-21,19.95,391,100,3\n"10301",2020-10-15,21.07,286,1,4\n"10302",2020-10-28,21.38,1118,2,4\n"10303",2020-10-12,20.45,825,3,4\n"10304",2020-10-28,21.46,225,4,4\n"10305",2020-10-04,20.91,1015,5,4\n"10306",2020-10-20,20.09,685,6,4\n"10307",2020-10-08,20.88,762,7,4\n"10308",2020-10-26,20.94,521,8,4\n"10309",2020-10-19,20.42,471,9,4\n"10310",2020-10-12,21.87,286,10,4\n"10311",2020-10-19,20.09,565,11,4\n"10312",2020-10-28,21.72,519,12,4\n"10313",2020-10-08,20.88,730,13,4\n"10314",2020-10-30,20.05,362,14,4\n"10315",2020-10-20,21.01,1098,15,4\n"10316",2020-10-01,20.53,581,16,4\n"10317",2020-10-24,20.26,413,17,4\n"10318",2020-10-06,20.73,384,18,4\n"10319",2020-10-03,19.92,560,19,4\n"10320",2020-10-08,20.27,1792,20,4\n"10321",2020-10-02,20.86,606,21,4\n"10322",2020-10-21,21.13,2360,22,4\n"10323",2020-10-25,22.53,544,23,4\n"10324",2020-10-10,20.81,466,24,4\n"10325",2020-10-17,22.06,493,25,4\n"10326",2020-10-27,21.07,288,26,4\n"10327",2020-10-12,20.46,415,27,4\n"10328",2020-10-21,20.46,376,28,4\n"10329",2020-10-02,21.7,907,29,4\n"10330",2020-10-15,21.44,288,30,4\n"10331",2020-10-15,20.89,420,31,4\n"10332",2020-10-19,20.94,428,32,4\n"10333",2020-10-23,20.8,422,33,4\n"10334",2020-10-05,20.83,404,34,4\n"10335",2020-10-17,21.52,289,35,4\n"10336",2020-10-27,21.36,483,36,4\n"10337",2020-10-09,20.66,370,37,4\n"10338",2020-10-09,20.84,720,38,4\n"10339",2020-10-14,20.82,645,39,4\n"10340",2020-10-18,21.56,802,40,4\n"10341",2020-10-27,20.63,649,41,4\n"10342",2020-10-22,20.19,513,42,4\n"10343",2020-10-29,20.99,621,43,4\n"10344",2020-10-15,21.3,1098,44,4\n"10345",2020-10-08,20.05,774,45,4\n"10346",2020-10-20,20.2,417,46,4\n"10347",2020-10-19,20.79,236,47,4\n"10348",2020-10-22,21.25,365,48,4\n"10349",2020-10-19,20.77,570,49,4\n"10350",2020-10-31,21.18,485,50,4\n"10351",2020-10-18,19.43,512,51,4\n"10352",2020-10-06,22.47,735,52,4\n"10353",2020-10-19,20.99,667,53,4\n"10354",2020-10-15,20.78,321,54,4\n"10355",2020-10-25,20.55,547,55,4\n"10356",2020-10-31,19.81,1045,56,4\n"10357",2020-10-13,20.27,278,57,4\n"10358",2020-10-18,21.19,624,58,4\n"10359",2020-10-15,20.38,379,59,4\n"10360",2020-10-02,21.84,492,60,4\n"10361",2020-10-26,21.25,632,61,4\n"10362",2020-10-08,21.06,382,62,4\n"10363",2020-10-15,19.74,831,63,4\n"10364",2020-10-08,20.22,821,64,4\n"10365",2020-10-21,21.93,333,65,4\n"10366",2020-10-04,20.54,623,66,4\n"10367",2020-10-30,20.11,375,67,4\n"10368",2020-10-21,20.85,575,68,4\n"10369",2020-10-19,21.24,559,69,4\n"10370",2020-10-22,20.08,476,70,4\n"10371",2020-10-21,20.4,208,71,4\n"10372",2020-10-20,21.45,636,72,4\n"10373",2020-10-03,20.44,466,73,4\n"10374",2020-10-13,20.34,576,74,4\n"10375",2020-10-08,20.36,202,75,4\n"10376",2020-10-25,21.21,344,76,4\n"10377",2020-10-29,21.41,260,77,4\n"10378",2020-10-29,21.75,339,78,4\n"10379",2020-10-10,20.55,633,79,4\n"10380",2020-10-11,21.37,181,80,4\n"10381",2020-10-21,20.21,519,81,4\n"10382",2020-10-25,21.37,431,82,4\n"10383",2020-10-26,19.82,686,83,4\n"10384",2020-10-30,22.13,495,84,4\n"10385",2020-10-26,20.62,449,85,4\n"10386",2020-10-05,21.65,614,86,4\n"10387",2020-10-04,21.06,278,87,4\n"10388",2020-10-20,21.24,753,88,4\n"10389",2020-10-05,20.46,1125,89,4\n"10390",2020-10-03,21.05,572,90,4\n"10391",2020-10-02,21.47,458,91,4\n"10392",2020-10-17,22.5,1002,92,4\n"10393",2020-10-29,20.9,492,93,4\n"10394",2020-10-29,21.05,739,94,4\n"10395",2020-10-17,21.04,653,95,4\n"10396",2020-10-11,21.07,1130,96,4\n"10397",2020-10-09,20.52,515,97,4\n"10398",2020-10-11,20.89,1312,98,4\n"10399",2020-10-31,20.86,421,99,4\n"10400",2020-10-21,20.71,562,100,4\n"10401",2020-10-15,20.19,487,1,5\n"10402",2020-10-28,20.31,375,2,5\n"10403",2020-10-12,21.59,385,3,5\n"10404",2020-10-28,20.23,881,4,5\n"10405",2020-10-04,20.79,674,5,5\n"10406",2020-10-20,21.65,299,6,5\n"10407",2020-10-08,21.37,1016,7,5\n"10408",2020-10-26,21.2,1000,8,5\n"10409",2020-10-19,21.25,278,9,5\n"10410",2020-10-12,20.64,727,10,5\n"10411",2020-10-19,20.78,468,11,5\n"10412",2020-10-28,21.02,717,12,5\n"10413",2020-10-08,20.99,679,13,5\n"10414",2020-10-30,21.08,301,14,5\n"10415",2020-10-20,21.65,726,15,5\n"10416",2020-10-01,20.43,437,16,5\n"10417",2020-10-24,21.24,457,17,5\n"10418",2020-10-06,21.11,352,18,5\n"10419",2020-10-03,20.93,499,19,5\n"10420",2020-10-08,20.79,466,20,5\n"10421",2020-10-02,20.85,290,21,5\n"10422",2020-10-21,21.89,609,22,5\n"10423",2020-10-25,23.06,437,23,5\n"10424",2020-10-10,20.23,548,24,5\n"10425",2020-10-17,20.9,259,25,5\n"10426",2020-10-27,21.05,254,26,5\n"10427",2020-10-12,21.33,345,27,5\n"10428",2020-10-21,21.81,646,28,5\n"10429",2020-10-02,20.25,749,29,5\n"10430",2020-10-15,21.14,1396,30,5\n"10431",2020-10-15,20.37,394,31,5\n"10432",2020-10-19,21.84,358,32,5\n"10433",2020-10-23,20.29,455,33,5\n"10434",2020-10-05,20.85,157,34,5\n"10435",2020-10-17,20.34,686,35,5\n"10436",2020-10-27,22.24,853,36,5\n"10437",2020-10-09,20.85,235,37,5\n"10438",2020-10-09,21.2,646,38,5\n"10439",2020-10-14,21,198,39,5\n"10440",2020-10-18,20.33,392,40,5\n"10441",2020-10-27,20.65,352,41,5\n"10442",2020-10-22,20.9,319,42,5\n"10443",2020-10-29,21.45,448,43,5\n"10444",2020-10-15,21.12,696,44,5\n"10445",2020-10-08,20.76,587,45,5\n"10446",2020-10-20,21.17,506,46,5\n"10447",2020-10-19,21.01,954,47,5\n"10448",2020-10-22,21.4,515,48,5\n"10449",2020-10-19,19.83,341,49,5\n"10450",2020-10-31,19.99,662,50,5\n"10451",2020-10-18,20.84,415,51,5\n"10452",2020-10-06,21.02,306,52,5\n"10453",2020-10-19,21.36,661,53,5\n"10454",2020-10-15,20.64,720,54,5\n"10455",2020-10-25,21.49,618,55,5\n"10456",2020-10-31,21.54,290,56,5\n"10457",2020-10-13,20.73,353,57,5\n"10458",2020-10-18,20.88,452,58,5\n"10459",2020-10-15,20.02,731,59,5\n"10460",2020-10-02,20.45,648,60,5\n"10461",2020-10-26,20.47,1251,61,5\n"10462",2020-10-08,20.01,730,62,5\n"10463",2020-10-15,20.37,610,63,5\n"10464",2020-10-08,21.4,728,64,5\n"10465",2020-10-21,22.25,323,65,5\n"10466",2020-10-04,20.11,407,66,5\n"10467",2020-10-30,20.66,584,67,5\n"10468",2020-10-21,19.89,445,68,5\n"10469",2020-10-19,20.73,333,69,5\n"10470",2020-10-22,20.38,722,70,5\n"10471",2020-10-21,20.89,276,71,5\n"10472",2020-10-20,20.42,275,72,5\n"10473",2020-10-03,20.62,555,73,5\n"10474",2020-10-13,21,1167,74,5\n"10475",2020-10-08,20.04,1401,75,5\n"10476",2020-10-25,20.44,378,76,5\n"10477",2020-10-29,21.46,399,77,5\n"10478",2020-10-29,21,460,78,5\n"10479",2020-10-10,20.8,282,79,5\n"10480",2020-10-11,21.74,487,80,5\n"10481",2020-10-21,20.46,488,81,5\n"10482",2020-10-25,20.15,586,82,5\n"10483",2020-10-26,21.81,753,83,5\n"10484",2020-10-30,21.09,548,84,5\n"10485",2020-10-26,21.15,576,85,5\n"10486",2020-10-05,21.12,427,86,5\n"10487",2020-10-04,20.81,402,87,5\n"10488",2020-10-20,20.26,341,88,5\n"10489",2020-10-05,20.69,879,89,5\n"10490",2020-10-03,20.48,675,90,5\n"10491",2020-10-02,20.91,741,91,5\n"10492",2020-10-17,21.08,661,92,5\n"10493",2020-10-29,21.66,413,93,5\n"10494",2020-10-29,20.62,287,94,5\n"10495",2020-10-17,20.47,490,95,5\n"10496",2020-10-11,20.51,697,96,5\n"10497",2020-10-09,20.74,92,97,5\n"10498",2020-10-11,21.94,1218,98,5\n"10499",2020-10-31,21.41,425,99,5\n"10500",2020-10-21,20.98,1067,100,5\n"10501",2020-10-15,21.48,286,1,6\n"10502",2020-10-28,21.88,636,2,6\n"10503",2020-10-12,20.86,421,3,6\n"10504",2020-10-28,22.05,406,4,6\n"10505",2020-10-04,20.08,294,5,6\n"10506",2020-10-20,21.01,490,6,6\n"10507",2020-10-08,20.42,638,7,6\n"10508",2020-10-26,20.76,262,8,6\n"10509",2020-10-19,20.98,452,9,6\n"10510",2020-10-12,20.32,379,10,6\n"10511",2020-10-19,21.31,574,11,6\n"10512",2020-10-28,20.67,316,12,6\n"10513",2020-10-08,21.07,381,13,6\n"10514",2020-10-30,21.46,487,14,6\n"10515",2020-10-20,21.03,509,15,6\n"10516",2020-10-01,20.95,729,16,6\n"10517",2020-10-24,20.84,1035,17,6\n"10518",2020-10-06,20.33,494,18,6\n"10519",2020-10-03,20.88,836,19,6\n"10520",2020-10-08,20.18,267,20,6\n"10521",2020-10-02,21.53,919,21,6\n"10522",2020-10-21,20.32,694,22,6\n"10523",2020-10-25,21.25,554,23,6\n"10524",2020-10-10,20.34,720,24,6\n"10525",2020-10-17,21.86,415,25,6\n"10526",2020-10-27,20.31,751,26,6\n"10527",2020-10-12,20.81,333,27,6\n"10528",2020-10-21,22.51,221,28,6\n"10529",2020-10-02,19.38,291,29,6\n"10530",2020-10-15,22.1,394,30,6\n"10531",2020-10-15,21.17,532,31,6\n"10532",2020-10-19,20.95,915,32,6\n"10533",2020-10-23,21.33,230,33,6\n"10534",2020-10-05,21.52,542,34,6\n"10535",2020-10-17,20.7,346,35,6\n"10536",2020-10-27,20.6,268,36,6\n"10537",2020-10-09,20.46,402,37,6\n"10538",2020-10-09,21.31,2309,38,6\n"10539",2020-10-14,21.93,505,39,6\n"10540",2020-10-18,19.28,435,40,6\n"10541",2020-10-27,21.19,679,41,6\n"10542",2020-10-22,22.52,1265,42,6\n"10543",2020-10-29,21.03,464,43,6\n"10544",2020-10-15,21.66,332,44,6\n"10545",2020-10-08,21.33,563,45,6\n"10546",2020-10-20,20.93,366,46,6\n"10547",2020-10-19,20.63,442,47,6\n"10548",2020-10-22,20.89,710,48,6\n"10549",2020-10-19,21.47,530,49,6\n"10550",2020-10-31,21.28,825,50,6\n"10551",2020-10-18,20.4,818,51,6\n"10552",2020-10-06,21.48,400,52,6\n"10553",2020-10-19,20.95,685,53,6\n"10554",2020-10-15,19.3,625,54,6\n"10555",2020-10-25,20.78,418,55,6\n"10556",2020-10-31,20.65,440,56,6\n"10557",2020-10-13,20.71,506,57,6\n"10558",2020-10-18,20.58,185,58,6\n"10559",2020-10-15,21.75,374,59,6\n"10560",2020-10-02,21.66,500,60,6\n"10561",2020-10-26,21.39,159,61,6\n"10562",2020-10-08,21.01,504,62,6\n"10563",2020-10-15,21.12,388,63,6\n"10564",2020-10-08,20.68,688,64,6\n"10565",2020-10-21,22.09,496,65,6\n"10566",2020-10-04,21.24,718,66,6\n"10567",2020-10-30,20.77,720,67,6\n"10568",2020-10-21,20.76,481,68,6\n"10569",2020-10-19,21.18,590,69,6\n"10570",2020-10-22,22.69,864,70,6\n"10571",2020-10-21,20.04,530,71,6\n"10572",2020-10-20,20.15,603,72,6\n"10573",2020-10-03,21.19,796,73,6\n"10574",2020-10-13,21.65,339,74,6\n"10575",2020-10-08,20.49,583,75,6\n"10576",2020-10-25,20.47,588,76,6\n"10577",2020-10-29,20.99,339,77,6\n"10578",2020-10-29,21.6,395,78,6\n"10579",2020-10-10,20.42,366,79,6\n"10580",2020-10-11,20.75,816,80,6\n"10581",2020-10-21,21.21,361,81,6\n"10582",2020-10-25,21.56,422,82,6\n"10583",2020-10-26,20.64,691,83,6\n"10584",2020-10-30,21.65,605,84,6\n"10585",2020-10-26,21.45,543,85,6\n"10586",2020-10-05,20.88,242,86,6\n"10587",2020-10-04,21.95,362,87,6\n"10588",2020-10-20,21.11,530,88,6\n"10589",2020-10-05,21,719,89,6\n"10590",2020-10-03,21.03,375,90,6\n"10591",2020-10-02,21.18,605,91,6\n"10592",2020-10-17,20.49,248,92,6\n"10593",2020-10-29,20.88,463,93,6\n"10594",2020-10-29,21.59,1737,94,6\n"10595",2020-10-17,20.82,225,95,6\n"10596",2020-10-11,20.82,454,96,6\n"10597",2020-10-09,20.81,435,97,6\n"10598",2020-10-11,20.6,711,98,6\n"10599",2020-10-31,20.71,384,99,6\n"10600",2020-10-21,20.19,359,100,6\n"10601",2020-10-15,20.48,557,1,7\n"10602",2020-10-28,21.86,1473,2,7\n"10603",2020-10-12,22,307,3,7\n"10604",2020-10-28,21.06,457,4,7\n"10605",2020-10-04,20.69,442,5,7\n"10606",2020-10-20,20.95,1252,6,7\n"10607",2020-10-08,21.53,813,7,7\n"10608",2020-10-26,19.58,288,8,7\n"10609",2020-10-19,20.09,340,9,7\n"10610",2020-10-12,21.9,171,10,7\n"10611",2020-10-19,20.71,391,11,7\n"10612",2020-10-28,19.36,340,12,7\n"10613",2020-10-08,20.71,379,13,7\n"10614",2020-10-30,21.14,405,14,7\n"10615",2020-10-20,20.82,479,15,7\n"10616",2020-10-01,20.92,430,16,7\n"10617",2020-10-24,21.16,380,17,7\n"10618",2020-10-06,21.51,395,18,7\n"10619",2020-10-03,21.26,321,19,7\n"10620",2020-10-08,20.41,262,20,7\n"10621",2020-10-02,21.37,272,21,7\n"10622",2020-10-21,21.33,351,22,7\n"10623",2020-10-25,21.56,777,23,7\n"10624",2020-10-10,21.43,344,24,7\n"10625",2020-10-17,20.79,491,25,7\n"10626",2020-10-27,20.98,319,26,7\n"10627",2020-10-12,21.68,738,27,7\n"10628",2020-10-21,21.63,489,28,7\n"10629",2020-10-02,20.98,299,29,7\n"10630",2020-10-15,21.66,729,30,7\n"10631",2020-10-15,21.98,306,31,7\n"10632",2020-10-19,21.66,849,32,7\n"10633",2020-10-23,21.47,301,33,7\n"10634",2020-10-05,20.35,332,34,7\n"10635",2020-10-17,20.7,173,35,7\n"10636",2020-10-27,20.68,336,36,7\n"10637",2020-10-09,21.38,688,37,7\n"10638",2020-10-09,20.22,616,38,7\n"10639",2020-10-14,20.65,325,39,7\n"10640",2020-10-18,20.65,331,40,7\n"10641",2020-10-27,20.69,524,41,7\n"10642",2020-10-22,20.84,691,42,7\n"10643",2020-10-29,21.59,421,43,7\n"10644",2020-10-15,20.36,314,44,7\n"10645",2020-10-08,21.37,289,45,7\n"10646",2020-10-20,21.97,454,46,7\n"10647",2020-10-19,20.84,869,47,7\n"10648",2020-10-22,21.47,998,48,7\n"10649",2020-10-19,21.19,648,49,7\n"10650",2020-10-31,20.51,682,50,7\n"10651",2020-10-18,20.95,304,51,7\n"10652",2020-10-06,21.28,809,52,7\n"10653",2020-10-19,20.13,211,53,7\n"10654",2020-10-15,19.94,439,54,7\n"10655",2020-10-25,20.75,421,55,7\n"10656",2020-10-31,21.2,711,56,7\n"10657",2020-10-13,20.72,797,57,7\n"10658",2020-10-18,20.97,573,58,7\n"10659",2020-10-15,20.99,228,59,7\n"10660",2020-10-02,20.72,908,60,7\n"10661",2020-10-26,20.92,341,61,7\n"10662",2020-10-08,20.73,164,62,7\n"10663",2020-10-15,20.55,395,63,7\n"10664",2020-10-08,20.98,547,64,7\n"10665",2020-10-21,20.91,558,65,7\n"10666",2020-10-04,20.68,917,66,7\n"10667",2020-10-30,20.25,430,67,7\n"10668",2020-10-21,20.86,365,68,7\n"10669",2020-10-19,20.16,453,69,7\n"10670",2020-10-22,21.24,305,70,7\n"10671",2020-10-21,22.32,970,71,7\n"10672",2020-10-20,19.92,627,72,7\n"10673",2020-10-03,21.58,975,73,7\n"10674",2020-10-13,21.44,327,74,7\n"10675",2020-10-08,20.41,388,75,7\n"10676",2020-10-25,20.47,1045,76,7\n"10677",2020-10-29,21,940,77,7\n"10678",2020-10-29,20.51,209,78,7\n"10679",2020-10-10,20.38,219,79,7\n"10680",2020-10-11,20.63,652,80,7\n"10681",2020-10-21,20.78,402,81,7\n"10682",2020-10-25,22.27,373,82,7\n"10683",2020-10-26,20.98,1575,83,7\n"10684",2020-10-30,20.6,336,84,7\n"10685",2020-10-26,20.79,400,85,7\n"10686",2020-10-05,20.45,554,86,7\n"10687",2020-10-04,21.7,327,87,7\n"10688",2020-10-20,22.09,895,88,7\n"10689",2020-10-05,20.74,539,89,7\n"10690",2020-10-03,20.98,1075,90,7\n"10691",2020-10-02,21.34,284,91,7\n"10692",2020-10-17,21.63,567,92,7\n"10693",2020-10-29,21.32,624,93,7\n"10694",2020-10-29,20.76,302,94,7\n"10695",2020-10-17,20.51,561,95,7\n"10696",2020-10-11,21.57,1585,96,7\n"10697",2020-10-09,20.98,564,97,7\n"10698",2020-10-11,20.95,595,98,7\n"10699",2020-10-31,21.26,269,99,7\n"10700",2020-10-21,20.82,747,100,7\n"10701",2020-10-15,22.33,267,1,8\n"10702",2020-10-28,21.8,340,2,8\n"10703",2020-10-12,20.43,187,3,8\n"10704",2020-10-28,21.1,445,4,8\n"10705",2020-10-04,21,461,5,8\n"10706",2020-10-20,21.2,949,6,8\n"10707",2020-10-08,20.25,264,7,8\n"10708",2020-10-26,21.23,278,8,8\n"10709",2020-10-19,20.8,865,9,8\n"10710",2020-10-12,21.37,752,10,8\n"10711",2020-10-19,21.3,442,11,8\n"10712",2020-10-28,22.45,502,12,8\n"10713",2020-10-08,22.17,553,13,8\n"10714",2020-10-30,21.48,511,14,8\n"10715",2020-10-20,21.1,268,15,8\n"10716",2020-10-01,22.03,606,16,8\n"10717",2020-10-24,19.02,1042,17,8\n"10718",2020-10-06,21.52,307,18,8\n"10719",2020-10-03,21.66,565,19,8\n"10720",2020-10-08,21.41,341,20,8\n"10721",2020-10-02,20.44,441,21,8\n"10722",2020-10-21,20.29,634,22,8\n"10723",2020-10-25,21.21,527,23,8\n"10724",2020-10-10,21.63,565,24,8\n"10725",2020-10-17,21.38,416,25,8\n"10726",2020-10-27,20.18,511,26,8\n"10727",2020-10-12,21.23,196,27,8\n"10728",2020-10-21,21.78,435,28,8\n"10729",2020-10-02,20.68,525,29,8\n"10730",2020-10-15,20.86,940,30,8\n"10731",2020-10-15,19.91,410,31,8\n"10732",2020-10-19,21.32,631,32,8\n"10733",2020-10-23,22.47,1091,33,8\n"10734",2020-10-05,20.2,793,34,8\n"10735",2020-10-17,20.66,388,35,8\n"10736",2020-10-27,20.86,703,36,8\n"10737",2020-10-09,21.5,409,37,8\n"10738",2020-10-09,20.06,344,38,8\n"10739",2020-10-14,20.3,427,39,8\n"10740",2020-10-18,20.78,461,40,8\n"10741",2020-10-27,20.65,288,41,8\n"10742",2020-10-22,21.54,586,42,8\n"10743",2020-10-29,20.8,408,43,8\n"10744",2020-10-15,21.2,338,44,8\n"10745",2020-10-08,20,407,45,8\n"10746",2020-10-20,21.17,424,46,8\n"10747",2020-10-19,21.33,416,47,8\n"10748",2020-10-22,21.24,1393,48,8\n"10749",2020-10-19,20.63,554,49,8\n"10750",2020-10-31,21.71,278,50,8\n"10751",2020-10-18,20.81,424,51,8\n"10752",2020-10-06,21.54,660,52,8\n"10753",2020-10-19,20.57,725,53,8\n"10754",2020-10-15,20.97,303,54,8\n"10755",2020-10-25,21.29,416,55,8\n"10756",2020-10-31,20.23,367,56,8\n"10757",2020-10-13,20.63,394,57,8\n"10758",2020-10-18,21.11,504,58,8\n"10759",2020-10-15,21.09,598,59,8\n"10760",2020-10-02,21.38,979,60,8\n"10761",2020-10-26,20.37,369,61,8\n"10762",2020-10-08,21.39,1429,62,8\n"10763",2020-10-15,19.83,524,63,8\n"10764",2020-10-08,21.75,267,64,8\n"10765",2020-10-21,21.54,273,65,8\n"10766",2020-10-04,21.06,617,66,8\n"10767",2020-10-30,20.74,361,67,8\n"10768",2020-10-21,21.77,359,68,8\n"10769",2020-10-19,20.28,244,69,8\n"10770",2020-10-22,21.86,591,70,8\n"10771",2020-10-21,21.35,592,71,8\n"10772",2020-10-20,21.08,1504,72,8\n"10773",2020-10-03,19.98,707,73,8\n"10774",2020-10-13,20.66,413,74,8\n"10775",2020-10-08,19.85,424,75,8\n"10776",2020-10-25,21.84,500,76,8\n"10777",2020-10-29,21.15,721,77,8\n"10778",2020-10-29,21.05,513,78,8\n"10779",2020-10-10,22,947,79,8\n"10780",2020-10-11,20.85,437,80,8\n"10781",2020-10-21,20.72,616,81,8\n"10782",2020-10-25,20.94,149,82,8\n"10783",2020-10-26,20.84,380,83,8\n"10784",2020-10-30,20.12,389,84,8\n"10785",2020-10-26,21.57,792,85,8\n"10786",2020-10-05,20.92,299,86,8\n"10787",2020-10-04,20.68,550,87,8\n"10788",2020-10-20,20.17,278,88,8\n"10789",2020-10-05,21.4,1407,89,8\n"10790",2020-10-03,21.25,912,90,8\n"10791",2020-10-02,20.9,343,91,8\n"10792",2020-10-17,20.07,391,92,8\n"10793",2020-10-29,21.09,795,93,8\n"10794",2020-10-29,20.75,541,94,8\n"10795",2020-10-17,21.22,1574,95,8\n"10796",2020-10-11,21.61,725,96,8\n"10797",2020-10-09,20.9,977,97,8\n"10798",2020-10-11,21.3,758,98,8\n"10799",2020-10-31,20.2,224,99,8\n"10800",2020-10-21,22.17,635,100,8\n"10801",2020-10-15,20.32,783,1,9\n"10802",2020-10-28,20.65,909,2,9\n"10803",2020-10-12,20.4,184,3,9\n"10804",2020-10-28,21.03,561,4,9\n"10805",2020-10-04,20.13,462,5,9\n"10806",2020-10-20,22.03,413,6,9\n"10807",2020-10-08,21.44,709,7,9\n"10808",2020-10-26,20.06,339,8,9\n"10809",2020-10-19,21.77,654,9,9\n"10810",2020-10-12,20.82,792,10,9\n"10811",2020-10-19,20.94,544,11,9\n"10812",2020-10-28,21.24,1004,12,9\n"10813",2020-10-08,20.95,349,13,9\n"10814",2020-10-30,21,180,14,9\n"10815",2020-10-20,20.27,360,15,9\n"10816",2020-10-01,21.25,735,16,9\n"10817",2020-10-24,21.4,401,17,9\n"10818",2020-10-06,20.37,266,18,9\n"10819",2020-10-03,20.81,383,19,9\n"10820",2020-10-08,21.47,579,20,9\n"10821",2020-10-02,21.1,366,21,9\n"10822",2020-10-21,21.53,571,22,9\n"10823",2020-10-25,20.92,1273,23,9\n"10824",2020-10-10,21.5,488,24,9\n"10825",2020-10-17,21.11,772,25,9\n"10826",2020-10-27,22.23,778,26,9\n"10827",2020-10-12,20.53,1974,27,9\n"10828",2020-10-21,21.47,188,28,9\n"10829",2020-10-02,21.82,214,29,9\n"10830",2020-10-15,20.11,324,30,9\n"10831",2020-10-15,20.62,189,31,9\n"10832",2020-10-19,21.1,468,32,9\n"10833",2020-10-23,20.06,504,33,9\n"10834",2020-10-05,21.71,442,34,9\n"10835",2020-10-17,20.9,215,35,9\n"10836",2020-10-27,21.18,524,36,9\n"10837",2020-10-09,20.6,244,37,9\n"10838",2020-10-09,21.13,987,38,9\n"10839",2020-10-14,20.18,2111,39,9\n"10840",2020-10-18,20.05,500,40,9\n"10841",2020-10-27,21.42,1326,41,9\n"10842",2020-10-22,21.62,212,42,9\n"10843",2020-10-29,20.92,453,43,9\n"10844",2020-10-15,20.8,453,44,9\n"10845",2020-10-08,20.26,283,45,9\n"10846",2020-10-20,20.72,608,46,9\n"10847",2020-10-19,20.36,178,47,9\n"10848",2020-10-22,21.39,456,48,9\n"10849",2020-10-19,20.5,518,49,9\n"10850",2020-10-31,22.5,683,50,9\n"10851",2020-10-18,21.23,136,51,9\n"10852",2020-10-06,19.75,481,52,9\n"10853",2020-10-19,19.86,1284,53,9\n"10854",2020-10-15,20.76,825,54,9\n"10855",2020-10-25,22.08,414,55,9\n"10856",2020-10-31,21.88,326,56,9\n"10857",2020-10-13,20.79,240,57,9\n"10858",2020-10-18,21.38,653,58,9\n"10859",2020-10-15,20.34,694,59,9\n"10860",2020-10-02,21.71,665,60,9\n"10861",2020-10-26,21.69,565,61,9\n"10862",2020-10-08,21.48,640,62,9\n"10863",2020-10-15,20.47,439,63,9\n"10864",2020-10-08,21.04,742,64,9\n"10865",2020-10-21,21.34,601,65,9\n"10866",2020-10-04,22.22,535,66,9\n"10867",2020-10-30,20.79,375,67,9\n"10868",2020-10-21,21,334,68,9\n"10869",2020-10-19,21.28,274,69,9\n"10870",2020-10-22,19.64,394,70,9\n"10871",2020-10-21,20.93,604,71,9\n"10872",2020-10-20,21.51,697,72,9\n"10873",2020-10-03,22.23,182,73,9\n"10874",2020-10-13,21.31,580,74,9\n"10875",2020-10-08,20.8,492,75,9\n"10876",2020-10-25,20.51,388,76,9\n"10877",2020-10-29,21.01,352,77,9\n"10878",2020-10-29,20.88,903,78,9\n"10879",2020-10-10,21.21,276,79,9\n"10880",2020-10-11,21.02,877,80,9\n"10881",2020-10-21,20.55,253,81,9\n"10882",2020-10-25,20.42,374,82,9\n"10883",2020-10-26,20.48,323,83,9\n"10884",2020-10-30,21.79,330,84,9\n"10885",2020-10-26,21.54,2863,85,9\n"10886",2020-10-05,22.04,483,86,9\n"10887",2020-10-04,22.07,210,87,9\n"10888",2020-10-20,19.97,518,88,9\n"10889",2020-10-05,20.62,649,89,9\n"10890",2020-10-03,20.35,638,90,9\n"10891",2020-10-02,21.4,141,91,9\n"10892",2020-10-17,21.63,518,92,9\n"10893",2020-10-29,20.84,381,93,9\n"10894",2020-10-29,20.22,440,94,9\n"10895",2020-10-17,20.54,859,95,9\n"10896",2020-10-11,21.21,579,96,9\n"10897",2020-10-09,21.21,741,97,9\n"10898",2020-10-11,22.08,465,98,9\n"10899",2020-10-31,20.2,527,99,9\n"10900",2020-10-21,20.76,341,100,9\n"10901",2020-10-15,21.13,631,1,10\n"10902",2020-10-28,22.1,1438,2,10\n"10903",2020-10-12,20.53,750,3,10\n"10904",2020-10-28,21.54,179,4,10\n"10905",2020-10-04,21.69,708,5,10\n"10906",2020-10-20,21.46,304,6,10\n"10907",2020-10-08,19.98,338,7,10\n"10908",2020-10-26,21.37,642,8,10\n"10909",2020-10-19,21.02,739,9,10\n"10910",2020-10-12,22.39,643,10,10\n"10911",2020-10-19,21.7,415,11,10\n"10912",2020-10-28,21.58,433,12,10\n"10913",2020-10-08,20.75,588,13,10\n"10914",2020-10-30,21.27,1169,14,10\n"10915",2020-10-20,21.17,515,15,10\n"10916",2020-10-01,20.15,627,16,10\n"10917",2020-10-24,21.37,1158,17,10\n"10918",2020-10-06,20.82,647,18,10\n"10919",2020-10-03,20.77,877,19,10\n"10920",2020-10-08,20.01,270,20,10\n"10921",2020-10-02,21.1,506,21,10\n"10922",2020-10-21,21.08,254,22,10\n"10923",2020-10-25,21.83,455,23,10\n"10924",2020-10-10,21.03,750,24,10\n"10925",2020-10-17,20.89,2050,25,10\n"10926",2020-10-27,20.86,324,26,10\n"10927",2020-10-12,21.34,380,27,10\n"10928",2020-10-21,20.86,239,28,10\n"10929",2020-10-02,21.27,397,29,10\n"10930",2020-10-15,20.82,623,30,10\n"10931",2020-10-15,20.35,335,31,10\n"10932",2020-10-19,20.59,893,32,10\n"10933",2020-10-23,21.33,799,33,10\n"10934",2020-10-05,19.87,324,34,10\n"10935",2020-10-17,21.34,805,35,10\n"10936",2020-10-27,20.32,1549,36,10\n"10937",2020-10-09,21.01,1147,37,10\n"10938",2020-10-09,21.74,928,38,10\n"10939",2020-10-14,20.67,787,39,10\n"10940",2020-10-18,20.87,356,40,10\n"10941",2020-10-27,21.18,363,41,10\n"10942",2020-10-22,21.18,841,42,10\n"10943",2020-10-29,21.07,583,43,10\n"10944",2020-10-15,20.58,856,44,10\n"10945",2020-10-08,20.98,655,45,10\n"10946",2020-10-20,21.16,882,46,10\n"10947",2020-10-19,21.12,551,47,10\n"10948",2020-10-22,20.55,276,48,10\n"10949",2020-10-19,20.36,848,49,10\n"10950",2020-10-31,20.79,881,50,10\n"10951",2020-10-18,22.07,450,51,10\n"10952",2020-10-06,21.13,302,52,10\n"10953",2020-10-19,21.07,225,53,10\n"10954",2020-10-15,20.8,1005,54,10\n"10955",2020-10-25,20.5,373,55,10\n"10956",2020-10-31,20.81,266,56,10\n"10957",2020-10-13,20.55,507,57,10\n"10958",2020-10-18,21.47,796,58,10\n"10959",2020-10-15,20.71,335,59,10\n"10960",2020-10-02,21,667,60,10\n"10961",2020-10-26,20.7,318,61,10\n"10962",2020-10-08,21.47,651,62,10\n"10963",2020-10-15,21.12,632,63,10\n"10964",2020-10-08,20.02,755,64,10\n"10965",2020-10-21,21.1,966,65,10\n"10966",2020-10-04,20.04,250,66,10\n"10967",2020-10-30,20.29,794,67,10\n"10968",2020-10-21,21.72,441,68,10\n"10969",2020-10-19,21.2,683,69,10\n"10970",2020-10-22,20.66,244,70,10\n"10971",2020-10-21,21.19,529,71,10\n"10972",2020-10-20,21.77,400,72,10\n"10973",2020-10-03,21.24,845,73,10\n"10974",2020-10-13,20.42,385,74,10\n"10975",2020-10-08,21.73,365,75,10\n"10976",2020-10-25,22.71,539,76,10\n"10977",2020-10-29,20.82,692,77,10\n"10978",2020-10-29,20.69,2261,78,10\n"10979",2020-10-10,21.11,369,79,10\n"10980",2020-10-11,21.61,284,80,10\n"10981",2020-10-21,20.87,665,81,10\n"10982",2020-10-25,20.75,405,82,10\n"10983",2020-10-26,20.8,366,83,10\n"10984",2020-10-30,20.49,798,84,10\n"10985",2020-10-26,21.5,513,85,10\n"10986",2020-10-05,20.87,362,86,10\n"10987",2020-10-04,20.17,1420,87,10\n"10988",2020-10-20,21.61,308,88,10\n"10989",2020-10-05,21.84,497,89,10\n"10990",2020-10-03,20.83,1236,90,10\n"10991",2020-10-02,20.36,309,91,10\n"10992",2020-10-17,20.34,296,92,10\n"10993",2020-10-29,21.49,613,93,10\n"10994",2020-10-29,20.5,474,94,10\n"10995",2020-10-17,20.67,268,95,10\n"10996",2020-10-11,21.21,528,96,10\n"10997",2020-10-09,21.01,419,97,10\n"10998",2020-10-11,21.59,304,98,10\n"10999",2020-10-31,20.4,590,99,10\n"11000",2020-10-21,20.24,510,100,10\n"11001",2020-11-21,20.43,878,1,1\n"11002",2020-11-29,19.58,333,2,1\n"11003",2020-11-08,19.9,455,3,1\n"11004",2020-11-19,19.7,225,4,1\n"11005",2020-11-09,19.94,224,5,1\n"11006",2020-11-20,20.46,596,6,1\n"11007",2020-11-11,21.17,712,7,1\n"11008",2020-11-05,19.85,409,8,1\n"11009",2020-11-24,19.89,1214,9,1\n"11010",2020-11-04,20.33,171,10,1\n"11011",2020-11-21,18.52,505,11,1\n"11012",2020-11-30,20.76,533,12,1\n"11013",2020-11-20,20.85,657,13,1\n"11014",2020-11-11,21,177,14,1\n"11015",2020-11-27,21.2,275,15,1\n"11016",2020-11-20,21.49,341,16,1\n"11017",2020-11-15,20.91,316,17,1\n"11018",2020-11-11,20.7,600,18,1\n"11019",2020-11-13,22.07,279,19,1\n"11020",2020-11-19,21.27,540,20,1\n"11021",2020-11-15,20.27,414,21,1\n"11022",2020-11-21,21.09,468,22,1\n"11023",2020-11-13,21.95,1163,23,1\n"11024",2020-11-11,19.91,476,24,1\n"11025",2020-11-20,20.51,398,25,1\n"11026",2020-11-11,20.52,846,26,1\n"11027",2020-11-25,20.65,602,27,1\n"11028",2020-11-25,19.88,412,28,1\n"11029",2020-11-06,20.65,479,29,1\n"11030",2020-11-30,19.74,492,30,1\n"11031",2020-11-07,19.82,285,31,1\n"11032",2020-11-15,21.09,306,32,1\n"11033",2020-11-11,20.97,763,33,1\n"11034",2020-11-28,21.3,334,34,1\n"11035",2020-11-06,20.3,296,35,1\n"11036",2020-11-12,20.05,353,36,1\n"11037",2020-11-09,20.62,356,37,1\n"11038",2020-11-04,20.24,477,38,1\n"11039",2020-11-24,20.44,903,39,1\n"11040",2020-11-14,22.18,429,40,1\n"11041",2020-11-20,20.8,1143,41,1\n"11042",2020-11-21,20.59,757,42,1\n"11043",2020-11-22,21.11,529,43,1\n"11044",2020-11-17,20.94,609,44,1\n"11045",2020-11-16,21.59,737,45,1\n"11046",2020-11-01,19.62,204,46,1\n"11047",2020-11-03,20.85,312,47,1\n"11048",2020-11-24,20.72,519,48,1\n"11049",2020-11-26,20.06,748,49,1\n"11050",2020-11-09,20.65,162,50,1\n"11051",2020-11-26,20.95,216,51,1\n"11052",2020-11-30,20.96,361,52,1\n"11053",2020-11-06,20.1,386,53,1\n"11054",2020-11-03,20.56,506,54,1\n"11055",2020-11-08,20.18,191,55,1\n"11056",2020-11-08,19.49,433,56,1\n"11057",2020-11-17,20.86,536,57,1\n"11058",2020-11-24,20.24,826,58,1\n"11059",2020-11-18,20.02,303,59,1\n"11060",2020-11-01,20.13,468,60,1\n"11061",2020-11-08,20.76,182,61,1\n"11062",2020-11-22,20.73,765,62,1\n"11063",2020-11-13,21.24,412,63,1\n"11064",2020-11-26,20.69,464,64,1\n"11065",2020-11-21,20.76,481,65,1\n"11066",2020-11-27,20.82,740,66,1\n"11067",2020-11-10,21.45,243,67,1\n"11068",2020-11-03,20.51,376,68,1\n"11069",2020-11-04,20.66,286,69,1\n"11070",2020-11-16,20.07,407,70,1\n"11071",2020-11-18,20.98,365,71,1\n"11072",2020-11-01,20.95,394,72,1\n"11073",2020-11-15,20.66,499,73,1\n"11074",2020-11-17,20.51,685,74,1\n"11075",2020-11-05,22.09,305,75,1\n"11076",2020-11-08,19.98,1050,76,1\n"11077",2020-11-27,22.25,188,77,1\n"11078",2020-11-15,20.99,536,78,1\n"11079",2020-11-01,20.72,713,79,1\n"11080",2020-11-25,20.31,842,80,1\n"11081",2020-11-13,21.4,166,81,1\n"11082",2020-11-06,20.21,633,82,1\n"11083",2020-11-27,21.81,265,83,1\n"11084",2020-11-30,20.41,464,84,1\n"11085",2020-11-01,19.89,513,85,1\n"11086",2020-11-12,21.9,601,86,1\n"11087",2020-11-05,21.75,388,87,1\n"11088",2020-11-02,20.75,217,88,1\n"11089",2020-11-06,20.28,211,89,1\n"11090",2020-11-07,21.03,494,90,1\n"11091",2020-11-07,21.3,864,91,1\n"11092",2020-11-22,20.34,434,92,1\n"11093",2020-11-19,21.48,417,93,1\n"11094",2020-11-03,20.69,204,94,1\n"11095",2020-11-08,20.77,319,95,1\n"11096",2020-11-30,19.68,637,96,1\n"11097",2020-11-02,20.79,599,97,1\n"11098",2020-11-22,19.89,484,98,1\n"11099",2020-11-21,20.55,536,99,1\n"11100",2020-11-05,21.74,383,100,1\n"11101",2020-11-21,20.33,201,1,2\n"11102",2020-11-29,21.12,355,2,2\n"11103",2020-11-08,21.57,375,3,2\n"11104",2020-11-19,20.49,463,4,2\n"11105",2020-11-09,20.26,1053,5,2\n"11106",2020-11-20,20.3,413,6,2\n"11107",2020-11-11,21.17,1760,7,2\n"11108",2020-11-05,20.92,277,8,2\n"11109",2020-11-24,20.95,637,9,2\n"11110",2020-11-04,21.27,800,10,2\n"11111",2020-11-21,21.34,612,11,2\n"11112",2020-11-30,19.99,446,12,2\n"11113",2020-11-20,20.46,636,13,2\n"11114",2020-11-11,21.02,370,14,2\n"11115",2020-11-27,21.64,824,15,2\n"11116",2020-11-20,20.7,865,16,2\n"11117",2020-11-15,19.79,664,17,2\n"11118",2020-11-11,20.41,491,18,2\n"11119",2020-11-13,20.97,528,19,2\n"11120",2020-11-19,20.15,619,20,2\n"11121",2020-11-15,21.98,354,21,2\n"11122",2020-11-21,21.39,599,22,2\n"11123",2020-11-13,21.61,1617,23,2\n"11124",2020-11-11,21.64,259,24,2\n"11125",2020-11-20,20.5,380,25,2\n"11126",2020-11-11,21.51,504,26,2\n"11127",2020-11-25,19.98,195,27,2\n"11128",2020-11-25,19.36,314,28,2\n"11129",2020-11-06,21.4,718,29,2\n"11130",2020-11-30,21.46,1838,30,2\n"11131",2020-11-07,20.78,266,31,2\n"11132",2020-11-15,19.97,509,32,2\n"11133",2020-11-11,21.98,568,33,2\n"11134",2020-11-28,20.96,614,34,2\n"11135",2020-11-06,21.53,221,35,2\n"11136",2020-11-12,21.65,622,36,2\n"11137",2020-11-09,19.77,568,37,2\n"11138",2020-11-04,20.78,268,38,2\n"11139",2020-11-24,20.95,547,39,2\n"11140",2020-11-14,20.66,616,40,2\n"11141",2020-11-20,20.59,676,41,2\n"11142",2020-11-21,20.34,521,42,2\n"11143",2020-11-22,20.89,673,43,2\n"11144",2020-11-17,21.08,395,44,2\n"11145",2020-11-16,20.05,168,45,2\n"11146",2020-11-01,21.4,647,46,2\n"11147",2020-11-03,21,277,47,2\n"11148",2020-11-24,20.65,372,48,2\n"11149",2020-11-26,21.04,348,49,2\n"11150",2020-11-09,19.66,791,50,2\n"11151",2020-11-26,20.19,793,51,2\n"11152",2020-11-30,21.73,531,52,2\n"11153",2020-11-06,20.92,390,53,2\n"11154",2020-11-03,19.83,473,54,2\n"11155",2020-11-08,20.53,258,55,2\n"11156",2020-11-08,20.75,284,56,2\n"11157",2020-11-17,20.17,411,57,2\n"11158",2020-11-24,20.76,407,58,2\n"11159",2020-11-18,20.28,353,59,2\n"11160",2020-11-01,21.23,512,60,2\n"11161",2020-11-08,21.28,1051,61,2\n"11162",2020-11-22,19.52,310,62,2\n"11163",2020-11-13,20.56,205,63,2\n"11164",2020-11-26,20.65,366,64,2\n"11165",2020-11-21,20.72,408,65,2\n"11166",2020-11-27,21.39,368,66,2\n"11167",2020-11-10,20.45,597,67,2\n"11168",2020-11-03,19.98,182,68,2\n"11169",2020-11-04,20.52,892,69,2\n"11170",2020-11-16,21.07,295,70,2\n"11171",2020-11-18,20.47,755,71,2\n"11172",2020-11-01,21.16,652,72,2\n"11173",2020-11-15,20.04,863,73,2\n"11174",2020-11-17,20,623,74,2\n"11175",2020-11-05,20.9,524,75,2\n"11176",2020-11-08,21.36,814,76,2\n"11177",2020-11-27,20.46,467,77,2\n"11178",2020-11-15,20.12,809,78,2\n"11179",2020-11-01,20.55,238,79,2\n"11180",2020-11-25,20.96,1021,80,2\n"11181",2020-11-13,20.54,601,81,2\n"11182",2020-11-06,20.53,320,82,2\n"11183",2020-11-27,20.95,1047,83,2\n"11184",2020-11-30,20.02,255,84,2\n"11185",2020-11-01,22.26,439,85,2\n"11186",2020-11-12,20.73,757,86,2\n"11187",2020-11-05,20.76,509,87,2\n"11188",2020-11-02,21.28,755,88,2\n"11189",2020-11-06,20.7,904,89,2\n"11190",2020-11-07,19.78,189,90,2\n"11191",2020-11-07,21.52,485,91,2\n"11192",2020-11-22,20.4,1171,92,2\n"11193",2020-11-19,19.76,261,93,2\n"11194",2020-11-03,20.65,586,94,2\n"11195",2020-11-08,21.15,407,95,2\n"11196",2020-11-30,20.5,289,96,2\n"11197",2020-11-02,21.35,382,97,2\n"11198",2020-11-22,20.82,448,98,2\n"11199",2020-11-21,21.42,321,99,2\n"11200",2020-11-05,21.03,470,100,2\n"11201",2020-11-21,21.05,259,1,3\n"11202",2020-11-29,19.51,254,2,3\n"11203",2020-11-08,21.2,312,3,3\n"11204",2020-11-19,20.64,612,4,3\n"11205",2020-11-09,19.97,1317,5,3\n"11206",2020-11-20,20.68,222,6,3\n"11207",2020-11-11,21.24,280,7,3\n"11208",2020-11-05,19.66,365,8,3\n"11209",2020-11-24,20.67,208,9,3\n"11210",2020-11-04,21.87,734,10,3\n"11211",2020-11-21,20.91,271,11,3\n"11212",2020-11-30,20.09,941,12,3\n"11213",2020-11-20,20.45,559,13,3\n"11214",2020-11-11,19.34,306,14,3\n"11215",2020-11-27,19.54,326,15,3\n"11216",2020-11-20,20.28,227,16,3\n"11217",2020-11-15,21.64,476,17,3\n"11218",2020-11-11,20.73,416,18,3\n"11219",2020-11-13,19.89,311,19,3\n"11220",2020-11-19,20.28,234,20,3\n"11221",2020-11-15,20.6,612,21,3\n"11222",2020-11-21,20.73,557,22,3\n"11223",2020-11-13,20.04,382,23,3\n"11224",2020-11-11,20.54,325,24,3\n"11225",2020-11-20,21.89,611,25,3\n"11226",2020-11-11,19.93,329,26,3\n"11227",2020-11-25,22.07,764,27,3\n"11228",2020-11-25,21.53,1072,28,3\n"11229",2020-11-06,21.38,173,29,3\n"11230",2020-11-30,20.83,558,30,3\n"11231",2020-11-07,20.73,764,31,3\n"11232",2020-11-15,20.04,370,32,3\n"11233",2020-11-11,19.78,304,33,3\n"11234",2020-11-28,20.54,491,34,3\n"11235",2020-11-06,20.33,590,35,3\n"11236",2020-11-12,20.35,355,36,3\n"11237",2020-11-09,21.1,440,37,3\n"11238",2020-11-04,20.47,249,38,3\n"11239",2020-11-24,21.02,173,39,3\n"11240",2020-11-14,21.16,728,40,3\n"11241",2020-11-20,20.85,381,41,3\n"11242",2020-11-21,20.89,1275,42,3\n"11243",2020-11-22,20.88,308,43,3\n"11244",2020-11-17,19.94,275,44,3\n"11245",2020-11-16,20.18,591,45,3\n"11246",2020-11-01,21.6,330,46,3\n"11247",2020-11-03,20.86,588,47,3\n"11248",2020-11-24,20.86,502,48,3\n"11249",2020-11-26,20.55,154,49,3\n"11250",2020-11-09,19.5,428,50,3\n"11251",2020-11-26,20.43,287,51,3\n"11252",2020-11-30,20.17,225,52,3\n"11253",2020-11-06,21.26,676,53,3\n"11254",2020-11-03,20.58,619,54,3\n"11255",2020-11-08,20.79,369,55,3\n"11256",2020-11-08,20.56,394,56,3\n"11257",2020-11-17,20.76,360,57,3\n"11258",2020-11-24,21.03,383,58,3\n"11259",2020-11-18,20.78,292,59,3\n"11260",2020-11-01,20.9,225,60,3\n"11261",2020-11-08,19.99,275,61,3\n"11262",2020-11-22,19.62,286,62,3\n"11263",2020-11-13,20.08,368,63,3\n"11264",2020-11-26,20.4,326,64,3\n"11265",2020-11-21,22.21,512,65,3\n"11266",2020-11-27,20.69,549,66,3\n"11267",2020-11-10,21.49,475,67,3\n"11268",2020-11-03,21.7,361,68,3\n"11269",2020-11-04,19.95,310,69,3\n"11270",2020-11-16,20.06,1831,70,3\n"11271",2020-11-18,20.73,395,71,3\n"11272",2020-11-01,20.55,1023,72,3\n"11273",2020-11-15,20.9,596,73,3\n"11274",2020-11-17,19.93,401,74,3\n"11275",2020-11-05,20.31,441,75,3\n"11276",2020-11-08,20.82,275,76,3\n"11277",2020-11-27,20.49,512,77,3\n"11278",2020-11-15,20.31,486,78,3\n"11279",2020-11-01,20.41,410,79,3\n"11280",2020-11-25,20.28,543,80,3\n"11281",2020-11-13,19.37,265,81,3\n"11282",2020-11-06,21.07,395,82,3\n"11283",2020-11-27,20.12,784,83,3\n"11284",2020-11-30,20.73,909,84,3\n"11285",2020-11-01,20.91,639,85,3\n"11286",2020-11-12,21.03,701,86,3\n"11287",2020-11-05,19.85,668,87,3\n"11288",2020-11-02,21.69,864,88,3\n"11289",2020-11-06,19.99,663,89,3\n"11290",2020-11-07,20.53,437,90,3\n"11291",2020-11-07,21.41,379,91,3\n"11292",2020-11-22,20.24,1255,92,3\n"11293",2020-11-19,19.53,725,93,3\n"11294",2020-11-03,20.51,382,94,3\n"11295",2020-11-08,19.79,524,95,3\n"11296",2020-11-30,21.1,156,96,3\n"11297",2020-11-02,20.34,373,97,3\n"11298",2020-11-22,19.83,295,98,3\n"11299",2020-11-21,21.21,718,99,3\n"11300",2020-11-05,21.35,997,100,3\n"11301",2020-11-21,20.87,434,1,4\n"11302",2020-11-29,20.1,851,2,4\n"11303",2020-11-08,20.85,448,3,4\n"11304",2020-11-19,21.48,550,4,4\n"11305",2020-11-09,20.49,244,5,4\n"11306",2020-11-20,20.35,495,6,4\n"11307",2020-11-11,21.12,394,7,4\n"11308",2020-11-05,20.08,665,8,4\n"11309",2020-11-24,20.3,787,9,4\n"11310",2020-11-04,21.29,483,10,4\n"11311",2020-11-21,20.79,525,11,4\n"11312",2020-11-30,21.09,485,12,4\n"11313",2020-11-20,20.5,569,13,4\n"11314",2020-11-11,22.5,739,14,4\n"11315",2020-11-27,20.44,441,15,4\n"11316",2020-11-20,20.39,369,16,4\n"11317",2020-11-15,19.94,556,17,4\n"11318",2020-11-11,20.46,234,18,4\n"11319",2020-11-13,21.62,524,19,4\n"11320",2020-11-19,21.73,348,20,4\n"11321",2020-11-15,19.36,740,21,4\n"11322",2020-11-21,21.07,843,22,4\n"11323",2020-11-13,21.06,303,23,4\n"11324",2020-11-11,20.61,376,24,4\n"11325",2020-11-20,20.25,501,25,4\n"11326",2020-11-11,20.69,517,26,4\n"11327",2020-11-25,21.03,168,27,4\n"11328",2020-11-25,20.89,284,28,4\n"11329",2020-11-06,21.46,261,29,4\n"11330",2020-11-30,20.7,627,30,4\n"11331",2020-11-07,20.53,1095,31,4\n"11332",2020-11-15,20.82,599,32,4\n"11333",2020-11-11,20.94,800,33,4\n"11334",2020-11-28,21.09,320,34,4\n"11335",2020-11-06,21.4,310,35,4\n"11336",2020-11-12,20.21,397,36,4\n"11337",2020-11-09,20.64,179,37,4\n"11338",2020-11-04,19.78,490,38,4\n"11339",2020-11-24,20.12,624,39,4\n"11340",2020-11-14,21.09,344,40,4\n"11341",2020-11-20,18.77,200,41,4\n"11342",2020-11-21,20.7,389,42,4\n"11343",2020-11-22,19.97,428,43,4\n"11344",2020-11-17,20.05,700,44,4\n"11345",2020-11-16,20.23,608,45,4\n"11346",2020-11-01,20.23,415,46,4\n"11347",2020-11-03,20.8,323,47,4\n"11348",2020-11-24,22.78,226,48,4\n"11349",2020-11-26,20.77,236,49,4\n"11350",2020-11-09,22.45,548,50,4\n"11351",2020-11-26,20.36,859,51,4\n"11352",2020-11-30,19.97,336,52,4\n"11353",2020-11-06,20.3,857,53,4\n"11354",2020-11-03,20.45,487,54,4\n"11355",2020-11-08,20.49,547,55,4\n"11356",2020-11-08,21.63,282,56,4\n"11357",2020-11-17,21.03,338,57,4\n"11358",2020-11-24,20.47,413,58,4\n"11359",2020-11-18,22.41,630,59,4\n"11360",2020-11-01,21.9,287,60,4\n"11361",2020-11-08,21.03,601,61,4\n"11362",2020-11-22,20.76,639,62,4\n"11363",2020-11-13,20.08,364,63,4\n"11364",2020-11-26,21.34,401,64,4\n"11365",2020-11-21,21.32,520,65,4\n"11366",2020-11-27,21.51,346,66,4\n"11367",2020-11-10,20.52,743,67,4\n"11368",2020-11-03,21.21,794,68,4\n"11369",2020-11-04,20.64,526,69,4\n"11370",2020-11-16,20.99,623,70,4\n"11371",2020-11-18,20.82,462,71,4\n"11372",2020-11-01,21.89,120,72,4\n"11373",2020-11-15,20.55,421,73,4\n"11374",2020-11-17,20.28,649,74,4\n"11375",2020-11-05,20.13,444,75,4\n"11376",2020-11-08,21.71,379,76,4\n"11377",2020-11-27,21.27,579,77,4\n"11378",2020-11-15,19.62,586,78,4\n"11379",2020-11-01,21.04,586,79,4\n"11380",2020-11-25,20.48,621,80,4\n"11381",2020-11-13,21.11,646,81,4\n"11382",2020-11-06,19.93,1782,82,4\n"11383",2020-11-27,21.59,345,83,4\n"11384",2020-11-30,20.33,397,84,4\n"11385",2020-11-01,20.26,352,85,4\n"11386",2020-11-12,20.17,570,86,4\n"11387",2020-11-05,20.94,148,87,4\n"11388",2020-11-02,21.45,145,88,4\n"11389",2020-11-06,21.58,344,89,4\n"11390",2020-11-07,19.94,513,90,4\n"11391",2020-11-07,19.48,370,91,4\n"11392",2020-11-22,21.29,453,92,4\n"11393",2020-11-19,21.23,519,93,4\n"11394",2020-11-03,20.71,1222,94,4\n"11395",2020-11-08,20.64,373,95,4\n"11396",2020-11-30,20.22,490,96,4\n"11397",2020-11-02,20.32,1177,97,4\n"11398",2020-11-22,21.44,409,98,4\n"11399",2020-11-21,20.95,429,99,4\n"11400",2020-11-05,22.18,617,100,4\n"11401",2020-11-21,21.45,610,1,5\n"11402",2020-11-29,21.26,1213,2,5\n"11403",2020-11-08,20.59,328,3,5\n"11404",2020-11-19,20.41,926,4,5\n"11405",2020-11-09,21.49,165,5,5\n"11406",2020-11-20,20.97,308,6,5\n"11407",2020-11-11,20.72,227,7,5\n"11408",2020-11-05,19.72,542,8,5\n"11409",2020-11-24,21.45,578,9,5\n"11410",2020-11-04,19.99,570,10,5\n"11411",2020-11-21,21.29,329,11,5\n"11412",2020-11-30,20.98,180,12,5\n"11413",2020-11-20,20.56,283,13,5\n"11414",2020-11-11,20.49,534,14,5\n"11415",2020-11-27,20.54,582,15,5\n"11416",2020-11-20,21.57,404,16,5\n"11417",2020-11-15,19.06,288,17,5\n"11418",2020-11-11,20.38,419,18,5\n"11419",2020-11-13,21.27,319,19,5\n"11420",2020-11-19,21.53,349,20,5\n"11421",2020-11-15,19.97,1272,21,5\n"11422",2020-11-21,21.16,1281,22,5\n"11423",2020-11-13,20.97,623,23,5\n"11424",2020-11-11,21.01,748,24,5\n"11425",2020-11-20,20.53,406,25,5\n"11426",2020-11-11,21.72,685,26,5\n"11427",2020-11-25,21.27,1780,27,5\n"11428",2020-11-25,19.86,347,28,5\n"11429",2020-11-06,20.2,484,29,5\n"11430",2020-11-30,20.85,217,30,5\n"11431",2020-11-07,20.64,345,31,5\n"11432",2020-11-15,19.32,615,32,5\n"11433",2020-11-11,21.71,622,33,5\n"11434",2020-11-28,20.55,596,34,5\n"11435",2020-11-06,20.32,247,35,5\n"11436",2020-11-12,21.21,548,36,5\n"11437",2020-11-09,19.58,406,37,5\n"11438",2020-11-04,21.45,447,38,5\n"11439",2020-11-24,20.17,270,39,5\n"11440",2020-11-14,19.45,297,40,5\n"11441",2020-11-20,21.01,901,41,5\n"11442",2020-11-21,19.72,605,42,5\n"11443",2020-11-22,21.15,396,43,5\n"11444",2020-11-17,20.22,305,44,5\n"11445",2020-11-16,20.66,867,45,5\n"11446",2020-11-01,20.27,844,46,5\n"11447",2020-11-03,21.45,319,47,5\n"11448",2020-11-24,19.75,385,48,5\n"11449",2020-11-26,21.25,442,49,5\n"11450",2020-11-09,21.27,658,50,5\n"11451",2020-11-26,21.77,258,51,5\n"11452",2020-11-30,21.15,497,52,5\n"11453",2020-11-06,20.64,622,53,5\n"11454",2020-11-03,21.04,427,54,5\n"11455",2020-11-08,20.38,576,55,5\n"11456",2020-11-08,21.97,632,56,5\n"11457",2020-11-17,20.57,617,57,5\n"11458",2020-11-24,20.52,670,58,5\n"11459",2020-11-18,20.1,315,59,5\n"11460",2020-11-01,20.68,370,60,5\n"11461",2020-11-08,22.33,377,61,5\n"11462",2020-11-22,20.77,262,62,5\n"11463",2020-11-13,21.29,308,63,5\n"11464",2020-11-26,20.83,531,64,5\n"11465",2020-11-21,20.63,378,65,5\n"11466",2020-11-27,20.67,459,66,5\n"11467",2020-11-10,20.74,461,67,5\n"11468",2020-11-03,21.11,749,68,5\n"11469",2020-11-04,20.65,256,69,5\n"11470",2020-11-16,20.38,708,70,5\n"11471",2020-11-18,20.4,839,71,5\n"11472",2020-11-01,20.41,550,72,5\n"11473",2020-11-15,21.43,373,73,5\n"11474",2020-11-17,20.86,307,74,5\n"11475",2020-11-05,20.63,968,75,5\n"11476",2020-11-08,20.67,204,76,5\n"11477",2020-11-27,20.88,343,77,5\n"11478",2020-11-15,20.13,191,78,5\n"11479",2020-11-01,20.35,159,79,5\n"11480",2020-11-25,19.92,402,80,5\n"11481",2020-11-13,20.8,462,81,5\n"11482",2020-11-06,20.6,1209,82,5\n"11483",2020-11-27,19.74,172,83,5\n"11484",2020-11-30,20.46,381,84,5\n"11485",2020-11-01,21.7,239,85,5\n"11486",2020-11-12,19.8,928,86,5\n"11487",2020-11-05,21.09,453,87,5\n"11488",2020-11-02,21.15,604,88,5\n"11489",2020-11-06,21.93,921,89,5\n"11490",2020-11-07,20.92,223,90,5\n"11491",2020-11-07,21.36,654,91,5\n"11492",2020-11-22,20.52,695,92,5\n"11493",2020-11-19,19.9,448,93,5\n"11494",2020-11-03,20.77,1005,94,5\n"11495",2020-11-08,20.04,584,95,5\n"11496",2020-11-30,21.53,909,96,5\n"11497",2020-11-02,20.82,171,97,5\n"11498",2020-11-22,19.91,836,98,5\n"11499",2020-11-21,20.13,184,99,5\n"11500",2020-11-05,20.69,315,100,5\n"11501",2020-11-21,20.19,241,1,6\n"11502",2020-11-29,21.42,360,2,6\n"11503",2020-11-08,20.15,398,3,6\n"11504",2020-11-19,20.41,368,4,6\n"11505",2020-11-09,20.69,415,5,6\n"11506",2020-11-20,20.67,836,6,6\n"11507",2020-11-11,21.05,521,7,6\n"11508",2020-11-05,20.66,363,8,6\n"11509",2020-11-24,21.49,541,9,6\n"11510",2020-11-04,21.87,433,10,6\n"11511",2020-11-21,21.04,124,11,6\n"11512",2020-11-30,20.03,380,12,6\n"11513",2020-11-20,20.96,579,13,6\n"11514",2020-11-11,20.12,482,14,6\n"11515",2020-11-27,20.81,1167,15,6\n"11516",2020-11-20,19.85,434,16,6\n"11517",2020-11-15,19.95,893,17,6\n"11518",2020-11-11,20.45,199,18,6\n"11519",2020-11-13,20.72,795,19,6\n"11520",2020-11-19,20.43,617,20,6\n"11521",2020-11-15,22.08,451,21,6\n"11522",2020-11-21,20.25,574,22,6\n"11523",2020-11-13,20.2,523,23,6\n"11524",2020-11-11,21.13,518,24,6\n"11525",2020-11-20,20.95,244,25,6\n"11526",2020-11-11,21.42,512,26,6\n"11527",2020-11-25,20.43,977,27,6\n"11528",2020-11-25,20.16,216,28,6\n"11529",2020-11-06,20.44,197,29,6\n"11530",2020-11-30,20.92,218,30,6\n"11531",2020-11-07,20.88,431,31,6\n"11532",2020-11-15,21.06,651,32,6\n"11533",2020-11-11,22.05,579,33,6\n"11534",2020-11-28,20.47,556,34,6\n"11535",2020-11-06,21.12,753,35,6\n"11536",2020-11-12,19.83,443,36,6\n"11537",2020-11-09,19.91,340,37,6\n"11538",2020-11-04,21.1,986,38,6\n"11539",2020-11-24,21.01,474,39,6\n"11540",2020-11-14,21.25,184,40,6\n"11541",2020-11-20,20.79,341,41,6\n"11542",2020-11-21,20.15,429,42,6\n"11543",2020-11-22,20.38,211,43,6\n"11544",2020-11-17,21.23,525,44,6\n"11545",2020-11-16,20.79,419,45,6\n"11546",2020-11-01,19.46,870,46,6\n"11547",2020-11-03,20.4,647,47,6\n"11548",2020-11-24,20.66,268,48,6\n"11549",2020-11-26,19.93,219,49,6\n"11550",2020-11-09,21.07,657,50,6\n"11551",2020-11-26,20.04,251,51,6\n"11552",2020-11-30,20.23,709,52,6\n"11553",2020-11-06,21.23,866,53,6\n"11554",2020-11-03,20.77,360,54,6\n"11555",2020-11-08,20.07,322,55,6\n"11556",2020-11-08,20.89,153,56,6\n"11557",2020-11-17,20.39,303,57,6\n"11558",2020-11-24,19.6,409,58,6\n"11559",2020-11-18,20.69,299,59,6\n"11560",2020-11-01,21.1,679,60,6\n"11561",2020-11-08,19.77,409,61,6\n"11562",2020-11-22,19.68,513,62,6\n"11563",2020-11-13,20.61,517,63,6\n"11564",2020-11-26,19.86,250,64,6\n"11565",2020-11-21,20.58,217,65,6\n"11566",2020-11-27,19.77,382,66,6\n"11567",2020-11-10,20.35,486,67,6\n"11568",2020-11-03,19.9,383,68,6\n"11569",2020-11-04,20.77,970,69,6\n"11570",2020-11-16,21.77,395,70,6\n"11571",2020-11-18,21.35,259,71,6\n"11572",2020-11-01,20.86,396,72,6\n"11573",2020-11-15,20.63,490,73,6\n"11574",2020-11-17,20.36,382,74,6\n"11575",2020-11-05,21.11,500,75,6\n"11576",2020-11-08,21.45,675,76,6\n"11577",2020-11-27,21.31,1039,77,6\n"11578",2020-11-15,19.76,793,78,6\n"11579",2020-11-01,20.64,679,79,6\n"11580",2020-11-25,20.08,489,80,6\n"11581",2020-11-13,20.35,526,81,6\n"11582",2020-11-06,20.11,222,82,6\n"11583",2020-11-27,19.8,233,83,6\n"11584",2020-11-30,20.5,492,84,6\n"11585",2020-11-01,19.3,411,85,6\n"11586",2020-11-12,21.45,284,86,6\n"11587",2020-11-05,19.33,353,87,6\n"11588",2020-11-02,20.76,698,88,6\n"11589",2020-11-06,21.08,416,89,6\n"11590",2020-11-07,21.58,644,90,6\n"11591",2020-11-07,20.85,455,91,6\n"11592",2020-11-22,20.65,758,92,6\n"11593",2020-11-19,21.31,659,93,6\n"11594",2020-11-03,21.25,239,94,6\n"11595",2020-11-08,21.44,246,95,6\n"11596",2020-11-30,20.55,997,96,6\n"11597",2020-11-02,20.24,1265,97,6\n"11598",2020-11-22,21.73,591,98,6\n"11599",2020-11-21,20.57,418,99,6\n"11600",2020-11-05,20.21,228,100,6\n"11601",2020-11-21,19.56,818,1,7\n"11602",2020-11-29,20.44,412,2,7\n"11603",2020-11-08,21.34,642,3,7\n"11604",2020-11-19,20.54,166,4,7\n"11605",2020-11-09,21.7,584,5,7\n"11606",2020-11-20,20.69,482,6,7\n"11607",2020-11-11,21.1,892,7,7\n"11608",2020-11-05,20.8,426,8,7\n"11609",2020-11-24,19.42,422,9,7\n"11610",2020-11-04,19.88,203,10,7\n"11611",2020-11-21,21.15,369,11,7\n"11612",2020-11-30,20.57,581,12,7\n"11613",2020-11-20,20.53,450,13,7\n"11614",2020-11-11,20.32,274,14,7\n"11615",2020-11-27,20.15,251,15,7\n"11616",2020-11-20,21.05,715,16,7\n"11617",2020-11-15,21.75,321,17,7\n"11618",2020-11-11,21.87,227,18,7\n"11619",2020-11-13,20.64,447,19,7\n"11620",2020-11-19,20.13,598,20,7\n"11621",2020-11-15,21.2,399,21,7\n"11622",2020-11-21,21.57,242,22,7\n"11623",2020-11-13,19.65,280,23,7\n"11624",2020-11-11,21.19,363,24,7\n"11625",2020-11-20,20.72,360,25,7\n"11626",2020-11-11,19.9,444,26,7\n"11627",2020-11-25,20.8,559,27,7\n"11628",2020-11-25,21.34,308,28,7\n"11629",2020-11-06,20.85,379,29,7\n"11630",2020-11-30,22.07,382,30,7\n"11631",2020-11-07,20.86,258,31,7\n"11632",2020-11-15,19.47,503,32,7\n"11633",2020-11-11,21.34,728,33,7\n"11634",2020-11-28,21.81,554,34,7\n"11635",2020-11-06,20.47,163,35,7\n"11636",2020-11-12,21.75,286,36,7\n"11637",2020-11-09,20.93,258,37,7\n"11638",2020-11-04,21.9,667,38,7\n"11639",2020-11-24,21.16,554,39,7\n"11640",2020-11-14,20.83,590,40,7\n"11641",2020-11-20,20.71,387,41,7\n"11642",2020-11-21,20.59,796,42,7\n"11643",2020-11-22,20.48,302,43,7\n"11644",2020-11-17,21.73,171,44,7\n"11645",2020-11-16,20.39,344,45,7\n"11646",2020-11-01,20.22,407,46,7\n"11647",2020-11-03,20.5,466,47,7\n"11648",2020-11-24,20.59,405,48,7\n"11649",2020-11-26,20.51,1343,49,7\n"11650",2020-11-09,20.97,835,50,7\n"11651",2020-11-26,20.63,198,51,7\n"11652",2020-11-30,21.1,416,52,7\n"11653",2020-11-06,20.47,546,53,7\n"11654",2020-11-03,20.51,522,54,7\n"11655",2020-11-08,21.27,183,55,7\n"11656",2020-11-08,20.89,464,56,7\n"11657",2020-11-17,20.97,317,57,7\n"11658",2020-11-24,21.71,551,58,7\n"11659",2020-11-18,20.6,627,59,7\n"11660",2020-11-01,21.84,964,60,7\n"11661",2020-11-08,21.08,255,61,7\n"11662",2020-11-22,19.84,553,62,7\n"11663",2020-11-13,21.04,239,63,7\n"11664",2020-11-26,20.52,1175,64,7\n"11665",2020-11-21,19.79,644,65,7\n"11666",2020-11-27,20.52,301,66,7\n"11667",2020-11-10,20.64,151,67,7\n"11668",2020-11-03,21.47,108,68,7\n"11669",2020-11-04,21.18,131,69,7\n"11670",2020-11-16,20.9,906,70,7\n"11671",2020-11-18,20.22,353,71,7\n"11672",2020-11-01,20.87,1404,72,7\n"11673",2020-11-15,19.91,693,73,7\n"11674",2020-11-17,21.76,411,74,7\n"11675",2020-11-05,20.86,622,75,7\n"11676",2020-11-08,20.74,375,76,7\n"11677",2020-11-27,20.64,305,77,7\n"11678",2020-11-15,20.76,406,78,7\n"11679",2020-11-01,21.77,300,79,7\n"11680",2020-11-25,21.49,323,80,7\n"11681",2020-11-13,20.98,1050,81,7\n"11682",2020-11-06,19.9,375,82,7\n"11683",2020-11-27,20.04,244,83,7\n"11684",2020-11-30,20.3,352,84,7\n"11685",2020-11-01,19.56,572,85,7\n"11686",2020-11-12,19.81,457,86,7\n"11687",2020-11-05,21.53,370,87,7\n"11688",2020-11-02,20.8,406,88,7\n"11689",2020-11-06,20.85,558,89,7\n"11690",2020-11-07,21.24,232,90,7\n"11691",2020-11-07,21.12,1172,91,7\n"11692",2020-11-22,21.65,229,92,7\n"11693",2020-11-19,20.27,257,93,7\n"11694",2020-11-03,21.29,763,94,7\n"11695",2020-11-08,20.36,816,95,7\n"11696",2020-11-30,20.64,417,96,7\n"11697",2020-11-02,20.72,716,97,7\n"11698",2020-11-22,19.56,195,98,7\n"11699",2020-11-21,20.12,259,99,7\n"11700",2020-11-05,19.42,324,100,7\n"11701",2020-11-21,21.01,947,1,8\n"11702",2020-11-29,19.64,206,2,8\n"11703",2020-11-08,21.04,456,3,8\n"11704",2020-11-19,20.28,571,4,8\n"11705",2020-11-09,20.35,349,5,8\n"11706",2020-11-20,20.43,347,6,8\n"11707",2020-11-11,20.26,314,7,8\n"11708",2020-11-05,21.1,746,8,8\n"11709",2020-11-24,20.42,218,9,8\n"11710",2020-11-04,20.15,311,10,8\n"11711",2020-11-21,20.53,382,11,8\n"11712",2020-11-30,21.41,916,12,8\n"11713",2020-11-20,20.06,648,13,8\n"11714",2020-11-11,21.32,697,14,8\n"11715",2020-11-27,20.4,735,15,8\n"11716",2020-11-20,20.75,295,16,8\n"11717",2020-11-15,21.32,584,17,8\n"11718",2020-11-11,20.74,330,18,8\n"11719",2020-11-13,20.68,590,19,8\n"11720",2020-11-19,20.45,492,20,8\n"11721",2020-11-15,20.84,533,21,8\n"11722",2020-11-21,20.79,373,22,8\n"11723",2020-11-13,20.88,448,23,8\n"11724",2020-11-11,20.37,358,24,8\n"11725",2020-11-20,20.06,553,25,8\n"11726",2020-11-11,20.5,308,26,8\n"11727",2020-11-25,20.06,498,27,8\n"11728",2020-11-25,19.64,249,28,8\n"11729",2020-11-06,20.58,266,29,8\n"11730",2020-11-30,19.66,452,30,8\n"11731",2020-11-07,21.63,681,31,8\n"11732",2020-11-15,20.47,580,32,8\n"11733",2020-11-11,20.86,434,33,8\n"11734",2020-11-28,20,806,34,8\n"11735",2020-11-06,19.98,284,35,8\n"11736",2020-11-12,20.8,548,36,8\n"11737",2020-11-09,19.89,353,37,8\n"11738",2020-11-04,21.09,396,38,8\n"11739",2020-11-24,20.32,397,39,8\n"11740",2020-11-14,18.97,509,40,8\n"11741",2020-11-20,20.5,275,41,8\n"11742",2020-11-21,21.75,840,42,8\n"11743",2020-11-22,20.65,593,43,8\n"11744",2020-11-17,20.44,276,44,8\n"11745",2020-11-16,20.98,881,45,8\n"11746",2020-11-01,20.26,453,46,8\n"11747",2020-11-03,19.65,330,47,8\n"11748",2020-11-24,21.34,708,48,8\n"11749",2020-11-26,20.36,532,49,8\n"11750",2020-11-09,20.04,441,50,8\n"11751",2020-11-26,20.43,446,51,8\n"11752",2020-11-30,21.05,712,52,8\n"11753",2020-11-06,21.61,433,53,8\n"11754",2020-11-03,22.53,846,54,8\n"11755",2020-11-08,19.76,897,55,8\n"11756",2020-11-08,21.87,478,56,8\n"11757",2020-11-17,20.93,564,57,8\n"11758",2020-11-24,21.07,734,58,8\n"11759",2020-11-18,19.37,1297,59,8\n"11760",2020-11-01,21.18,606,60,8\n"11761",2020-11-08,20.24,1052,61,8\n"11762",2020-11-22,20.69,248,62,8\n"11763",2020-11-13,21.29,554,63,8\n"11764",2020-11-26,21.54,192,64,8\n"11765",2020-11-21,20.49,381,65,8\n"11766",2020-11-27,20.71,270,66,8\n"11767",2020-11-10,19.83,398,67,8\n"11768",2020-11-03,20.91,504,68,8\n"11769",2020-11-04,20.07,317,69,8\n"11770",2020-11-16,21.69,486,70,8\n"11771",2020-11-18,19.1,768,71,8\n"11772",2020-11-01,20.1,649,72,8\n"11773",2020-11-15,21.39,719,73,8\n"11774",2020-11-17,20.17,322,74,8\n"11775",2020-11-05,20.77,673,75,8\n"11776",2020-11-08,20.57,439,76,8\n"11777",2020-11-27,20.68,233,77,8\n"11778",2020-11-15,20.09,353,78,8\n"11779",2020-11-01,19.94,399,79,8\n"11780",2020-11-25,21.05,324,80,8\n"11781",2020-11-13,21.07,668,81,8\n"11782",2020-11-06,20.48,503,82,8\n"11783",2020-11-27,20.91,543,83,8\n"11784",2020-11-30,20.91,574,84,8\n"11785",2020-11-01,20.84,644,85,8\n"11786",2020-11-12,20.71,517,86,8\n"11787",2020-11-05,21.58,488,87,8\n"11788",2020-11-02,19.99,333,88,8\n"11789",2020-11-06,21.14,393,89,8\n"11790",2020-11-07,19.73,439,90,8\n"11791",2020-11-07,21.54,528,91,8\n"11792",2020-11-22,20.96,457,92,8\n"11793",2020-11-19,21.52,301,93,8\n"11794",2020-11-03,22.03,382,94,8\n"11795",2020-11-08,21.03,398,95,8\n"11796",2020-11-30,20.19,742,96,8\n"11797",2020-11-02,20.44,413,97,8\n"11798",2020-11-22,20.06,791,98,8\n"11799",2020-11-21,21.29,501,99,8\n"11800",2020-11-05,20.56,308,100,8\n"11801",2020-11-21,20.84,579,1,9\n"11802",2020-11-29,20.81,718,2,9\n"11803",2020-11-08,21.01,490,3,9\n"11804",2020-11-19,21.08,1170,4,9\n"11805",2020-11-09,21.02,416,5,9\n"11806",2020-11-20,20.73,634,6,9\n"11807",2020-11-11,21.4,277,7,9\n"11808",2020-11-05,20.55,643,8,9\n"11809",2020-11-24,19.51,319,9,9\n"11810",2020-11-04,20.61,412,10,9\n"11811",2020-11-21,21.29,430,11,9\n"11812",2020-11-30,20.63,561,12,9\n"11813",2020-11-20,20.92,369,13,9\n"11814",2020-11-11,22.28,658,14,9\n"11815",2020-11-27,19.79,631,15,9\n"11816",2020-11-20,21.06,257,16,9\n"11817",2020-11-15,19.56,596,17,9\n"11818",2020-11-11,20.77,629,18,9\n"11819",2020-11-13,20.78,383,19,9\n"11820",2020-11-19,21.14,319,20,9\n"11821",2020-11-15,20.61,1648,21,9\n"11822",2020-11-21,20.49,672,22,9\n"11823",2020-11-13,21,584,23,9\n"11824",2020-11-11,21.85,551,24,9\n"11825",2020-11-20,20.85,590,25,9\n"11826",2020-11-11,20.7,390,26,9\n"11827",2020-11-25,21.01,803,27,9\n"11828",2020-11-25,21.55,299,28,9\n"11829",2020-11-06,20.48,339,29,9\n"11830",2020-11-30,21.07,313,30,9\n"11831",2020-11-07,20.82,438,31,9\n"11832",2020-11-15,21.46,384,32,9\n"11833",2020-11-11,19.69,600,33,9\n"11834",2020-11-28,21.14,528,34,9\n"11835",2020-11-06,21.8,298,35,9\n"11836",2020-11-12,20.15,303,36,9\n"11837",2020-11-09,20.15,375,37,9\n"11838",2020-11-04,20.94,416,38,9\n"11839",2020-11-24,19.92,309,39,9\n"11840",2020-11-14,20.96,1146,40,9\n"11841",2020-11-20,20.01,464,41,9\n"11842",2020-11-21,22.29,628,42,9\n"11843",2020-11-22,20.26,449,43,9\n"11844",2020-11-17,19.52,609,44,9\n"11845",2020-11-16,20.64,615,45,9\n"11846",2020-11-01,20.87,543,46,9\n"11847",2020-11-03,20.96,308,47,9\n"11848",2020-11-24,20.38,298,48,9\n"11849",2020-11-26,20.47,718,49,9\n"11850",2020-11-09,20.99,466,50,9\n"11851",2020-11-26,19.68,237,51,9\n"11852",2020-11-30,21.91,203,52,9\n"11853",2020-11-06,20.42,674,53,9\n"11854",2020-11-03,21.02,632,54,9\n"11855",2020-11-08,20.92,635,55,9\n"11856",2020-11-08,19.96,1267,56,9\n"11857",2020-11-17,20.45,373,57,9\n"11858",2020-11-24,21.37,784,58,9\n"11859",2020-11-18,21.63,1167,59,9\n"11860",2020-11-01,19.56,373,60,9\n"11861",2020-11-08,20.69,239,61,9\n"11862",2020-11-22,20.35,728,62,9\n"11863",2020-11-13,19.67,696,63,9\n"11864",2020-11-26,20.1,217,64,9\n"11865",2020-11-21,19.85,282,65,9\n"11866",2020-11-27,20.48,574,66,9\n"11867",2020-11-10,20.22,288,67,9\n"11868",2020-11-03,20.9,349,68,9\n"11869",2020-11-04,20.24,274,69,9\n"11870",2020-11-16,20.53,487,70,9\n"11871",2020-11-18,20.08,548,71,9\n"11872",2020-11-01,20.66,1091,72,9\n"11873",2020-11-15,20.27,278,73,9\n"11874",2020-11-17,20.7,373,74,9\n"11875",2020-11-05,21.87,238,75,9\n"11876",2020-11-08,20.39,178,76,9\n"11877",2020-11-27,20.58,338,77,9\n"11878",2020-11-15,20.41,199,78,9\n"11879",2020-11-01,20.67,287,79,9\n"11880",2020-11-25,20.75,243,80,9\n"11881",2020-11-13,21.42,442,81,9\n"11882",2020-11-06,21.5,553,82,9\n"11883",2020-11-27,20.85,229,83,9\n"11884",2020-11-30,20.73,540,84,9\n"11885",2020-11-01,20.83,707,85,9\n"11886",2020-11-12,21.05,496,86,9\n"11887",2020-11-05,19.82,1324,87,9\n"11888",2020-11-02,21.95,244,88,9\n"11889",2020-11-06,19.95,293,89,9\n"11890",2020-11-07,21.14,719,90,9\n"11891",2020-11-07,23.2,263,91,9\n"11892",2020-11-22,20.06,272,92,9\n"11893",2020-11-19,19.69,540,93,9\n"11894",2020-11-03,19.99,425,94,9\n"11895",2020-11-08,20.06,762,95,9\n"11896",2020-11-30,21.04,513,96,9\n"11897",2020-11-02,20.16,240,97,9\n"11898",2020-11-22,20.61,157,98,9\n"11899",2020-11-21,20.53,603,99,9\n"11900",2020-11-05,19.81,513,100,9\n"11901",2020-11-21,20.25,307,1,10\n"11902",2020-11-29,20.9,144,2,10\n"11903",2020-11-08,20.47,1034,3,10\n"11904",2020-11-19,21.05,503,4,10\n"11905",2020-11-09,20.83,595,5,10\n"11906",2020-11-20,20.79,363,6,10\n"11907",2020-11-11,20.36,878,7,10\n"11908",2020-11-05,20.33,342,8,10\n"11909",2020-11-24,22.79,400,9,10\n"11910",2020-11-04,20.68,484,10,10\n"11911",2020-11-21,20.33,308,11,10\n"11912",2020-11-30,21.06,717,12,10\n"11913",2020-11-20,19.92,539,13,10\n"11914",2020-11-11,20,263,14,10\n"11915",2020-11-27,21.32,358,15,10\n"11916",2020-11-20,21.37,745,16,10\n"11917",2020-11-15,20.18,202,17,10\n"11918",2020-11-11,21.41,585,18,10\n"11919",2020-11-13,20.93,221,19,10\n"11920",2020-11-19,20.52,499,20,10\n"11921",2020-11-15,20.68,307,21,10\n"11922",2020-11-21,21.22,218,22,10\n"11923",2020-11-13,20.85,204,23,10\n"11924",2020-11-11,20.13,487,24,10\n"11925",2020-11-20,21.7,324,25,10\n"11926",2020-11-11,21.7,262,26,10\n"11927",2020-11-25,20.22,659,27,10\n"11928",2020-11-25,20.59,745,28,10\n"11929",2020-11-06,21.98,393,29,10\n"11930",2020-11-30,20.31,483,30,10\n"11931",2020-11-07,20.65,290,31,10\n"11932",2020-11-15,20.62,733,32,10\n"11933",2020-11-11,21.89,303,33,10\n"11934",2020-11-28,20.9,581,34,10\n"11935",2020-11-06,19.83,546,35,10\n"11936",2020-11-12,20.27,438,36,10\n"11937",2020-11-09,19.21,545,37,10\n"11938",2020-11-04,21.23,234,38,10\n"11939",2020-11-24,19.31,296,39,10\n"11940",2020-11-14,21.56,654,40,10\n"11941",2020-11-20,20.36,307,41,10\n"11942",2020-11-21,21.81,388,42,10\n"11943",2020-11-22,20.55,789,43,10\n"11944",2020-11-17,20.22,643,44,10\n"11945",2020-11-16,21.19,679,45,10\n"11946",2020-11-01,20.77,290,46,10\n"11947",2020-11-03,20.73,776,47,10\n"11948",2020-11-24,19.74,799,48,10\n"11949",2020-11-26,20.27,358,49,10\n"11950",2020-11-09,20.65,538,50,10\n"11951",2020-11-26,20.56,803,51,10\n"11952",2020-11-30,21.03,434,52,10\n"11953",2020-11-06,20.56,408,53,10\n"11954",2020-11-03,20.9,976,54,10\n"11955",2020-11-08,19.95,297,55,10\n"11956",2020-11-08,20.78,911,56,10\n"11957",2020-11-17,21.09,477,57,10\n"11958",2020-11-24,20.65,634,58,10\n"11959",2020-11-18,21.82,604,59,10\n"11960",2020-11-01,20.56,1580,60,10\n"11961",2020-11-08,20.98,790,61,10\n"11962",2020-11-22,20.28,363,62,10\n"11963",2020-11-13,19.96,1386,63,10\n"11964",2020-11-26,20.62,477,64,10\n"11965",2020-11-21,20.79,645,65,10\n"11966",2020-11-27,20.26,417,66,10\n"11967",2020-11-10,20.71,279,67,10\n"11968",2020-11-03,21.99,434,68,10\n"11969",2020-11-04,20.9,681,69,10\n"11970",2020-11-16,20.96,427,70,10\n"11971",2020-11-18,20.42,699,71,10\n"11972",2020-11-01,19.22,336,72,10\n"11973",2020-11-15,20.82,456,73,10\n"11974",2020-11-17,20.24,414,74,10\n"11975",2020-11-05,20.44,295,75,10\n"11976",2020-11-08,21.27,547,76,10\n"11977",2020-11-27,20.95,516,77,10\n"11978",2020-11-15,19.98,1575,78,10\n"11979",2020-11-01,20.04,223,79,10\n"11980",2020-11-25,20.38,267,80,10\n"11981",2020-11-13,21.49,1189,81,10\n"11982",2020-11-06,20.44,483,82,10\n"11983",2020-11-27,21.76,474,83,10\n"11984",2020-11-30,22,650,84,10\n"11985",2020-11-01,20.81,725,85,10\n"11986",2020-11-12,21.34,467,86,10\n"11987",2020-11-05,20.02,566,87,10\n"11988",2020-11-02,20.39,279,88,10\n"11989",2020-11-06,20.61,443,89,10\n"11990",2020-11-07,20.1,437,90,10\n"11991",2020-11-07,21.28,267,91,10\n"11992",2020-11-22,20.75,906,92,10\n"11993",2020-11-19,20.73,596,93,10\n"11994",2020-11-03,20.84,287,94,10\n"11995",2020-11-08,20.45,525,95,10\n"11996",2020-11-30,20.06,1892,96,10\n"11997",2020-11-02,21.9,731,97,10\n"11998",2020-11-22,20.85,531,98,10\n"11999",2020-11-21,21.34,273,99,10\n"12000",2020-11-05,20.6,387,100,10\n"12001",2020-12-02,21.51,191,1,1\n"12002",2020-12-23,19.7,336,2,1\n"12003",2020-12-15,21.44,390,3,1\n"12004",2020-12-16,21.46,360,4,1\n"12005",2020-12-10,21.33,248,5,1\n"12006",2020-12-03,19.89,569,6,1\n"12007",2020-12-21,21.54,343,7,1\n"12008",2020-12-28,21.07,273,8,1\n"12009",2020-12-15,21.65,1138,9,1\n"12010",2020-12-11,22.08,339,10,1\n"12011",2020-12-05,21.32,595,11,1\n"12012",2020-12-03,20.98,461,12,1\n"12013",2020-12-20,22.66,180,13,1\n"12014",2020-12-26,21.64,258,14,1\n"12015",2020-12-30,21.91,167,15,1\n"12016",2020-12-06,21.98,325,16,1\n"12017",2020-12-27,21.68,270,17,1\n"12018",2020-12-24,22.31,446,18,1\n"12019",2020-12-28,22,335,19,1\n"12020",2020-12-22,22,478,20,1\n"12021",2020-12-02,20.03,505,21,1\n"12022",2020-12-26,19.81,299,22,1\n"12023",2020-12-12,19.99,713,23,1\n"12024",2020-12-24,21.09,218,24,1\n"12025",2020-12-17,21.23,224,25,1\n"12026",2020-12-19,20.47,242,26,1\n"12027",2020-12-30,20.38,345,27,1\n"12028",2020-12-08,21.28,384,28,1\n"12029",2020-12-24,20.77,748,29,1\n"12030",2020-12-01,21.59,504,30,1\n"12031",2020-12-06,21.49,340,31,1\n"12032",2020-12-25,20.31,484,32,1\n"12033",2020-12-20,21.51,413,33,1\n"12034",2020-12-15,20.52,272,34,1\n"12035",2020-12-02,21,424,35,1\n"12036",2020-12-04,20.13,523,36,1\n"12037",2020-12-09,20.72,235,37,1\n"12038",2020-12-29,20.97,423,38,1\n"12039",2020-12-29,21.21,554,39,1\n"12040",2020-12-13,21.12,716,40,1\n"12041",2020-12-17,20.94,446,41,1\n"12042",2020-12-27,20.66,96,42,1\n"12043",2020-12-20,20.98,557,43,1\n"12044",2020-12-20,21.51,312,44,1\n"12045",2020-12-21,22.06,398,45,1\n"12046",2020-12-02,21.34,297,46,1\n"12047",2020-12-20,21.97,263,47,1\n"12048",2020-12-15,21.67,557,48,1\n"12049",2020-12-17,21.35,672,49,1\n"12050",2020-12-21,20.13,123,50,1\n"12051",2020-12-02,21.66,440,51,1\n"12052",2020-12-10,21.51,243,52,1\n"12053",2020-12-07,22.2,121,53,1\n"12054",2020-12-23,21.99,319,54,1\n"12055",2020-12-15,20.47,430,55,1\n"12056",2020-12-04,21.25,160,56,1\n"12057",2020-12-19,20.92,317,57,1\n"12058",2020-12-03,20.94,448,58,1\n"12059",2020-12-16,21.3,467,59,1\n"12060",2020-12-21,22.76,197,60,1\n"12061",2020-12-17,21.22,310,61,1\n"12062",2020-12-25,21.83,100,62,1\n"12063",2020-12-19,20.73,481,63,1\n"12064",2020-12-22,21.35,606,64,1\n"12065",2020-12-25,20.99,360,65,1\n"12066",2020-12-29,21.88,365,66,1\n"12067",2020-12-15,20.69,367,67,1\n"12068",2020-12-11,21.4,153,68,1\n"12069",2020-12-14,20.87,453,69,1\n"12070",2020-12-27,20.71,360,70,1\n"12071",2020-12-30,21.22,283,71,1\n"12072",2020-12-01,20.67,270,72,1\n"12073",2020-12-10,22.17,335,73,1\n"12074",2020-12-31,21.59,341,74,1\n"12075",2020-12-26,20.61,201,75,1\n"12076",2020-12-25,21.4,432,76,1\n"12077",2020-12-22,21.93,317,77,1\n"12078",2020-12-09,20.83,100,78,1\n"12079",2020-12-21,19.86,206,79,1\n"12080",2020-12-16,20.22,354,80,1\n"12081",2020-12-14,21.61,291,81,1\n"12082",2020-12-18,21.53,581,82,1\n"12083",2020-12-30,21.9,638,83,1\n"12084",2020-12-17,21.79,690,84,1\n"12085",2020-12-14,20.54,345,85,1\n"12086",2020-12-22,21.86,350,86,1\n"12087",2020-12-15,22.28,383,87,1\n"12088",2020-12-02,20.95,445,88,1\n"12089",2020-12-02,20.33,266,89,1\n"12090",2020-12-26,20.55,232,90,1\n"12091",2020-12-31,21.18,209,91,1\n"12092",2020-12-26,21.77,224,92,1\n"12093",2020-12-24,20.31,342,93,1\n"12094",2020-12-13,21.13,358,94,1\n"12095",2020-12-24,21.29,336,95,1\n"12096",2020-12-23,21.42,286,96,1\n"12097",2020-12-23,21.57,243,97,1\n"12098",2020-12-10,21.37,546,98,1\n"12099",2020-12-06,19.64,238,99,1\n"12100",2020-12-12,21.94,333,100,1\n"12101",2020-12-02,21.35,393,1,2\n"12102",2020-12-23,21.68,333,2,2\n"12103",2020-12-15,21.47,376,3,2\n"12104",2020-12-16,21.15,325,4,2\n"12105",2020-12-10,21.36,167,5,2\n"12106",2020-12-03,22.14,395,6,2\n"12107",2020-12-21,21.39,274,7,2\n"12108",2020-12-28,22.03,217,8,2\n"12109",2020-12-15,21.07,366,9,2\n"12110",2020-12-11,20.53,111,10,2\n"12111",2020-12-05,20.97,329,11,2\n"12112",2020-12-03,21.46,448,12,2\n"12113",2020-12-20,20.96,299,13,2\n"12114",2020-12-26,22.13,377,14,2\n"12115",2020-12-30,21.15,359,15,2\n"12116",2020-12-06,21.06,336,16,2\n"12117",2020-12-27,21.11,271,17,2\n"12118",2020-12-24,20.1,184,18,2\n"12119",2020-12-28,21.73,171,19,2\n"12120",2020-12-22,20.53,177,20,2\n"12121",2020-12-02,21.64,488,21,2\n"12122",2020-12-26,20.24,304,22,2\n"12123",2020-12-12,21.66,390,23,2\n"12124",2020-12-24,20.41,394,24,2\n"12125",2020-12-17,20.79,413,25,2\n"12126",2020-12-19,21.03,219,26,2\n"12127",2020-12-30,21.03,537,27,2\n"12128",2020-12-08,21.88,267,28,2\n"12129",2020-12-24,22.23,650,29,2\n"12130",2020-12-01,21.58,247,30,2\n"12131",2020-12-06,22.17,129,31,2\n"12132",2020-12-25,21.34,309,32,2\n"12133",2020-12-20,21.24,164,33,2\n"12134",2020-12-15,20.9,435,34,2\n"12135",2020-12-02,22.33,322,35,2\n"12136",2020-12-04,21.23,495,36,2\n"12137",2020-12-09,22.17,192,37,2\n"12138",2020-12-29,20.72,203,38,2\n"12139",2020-12-29,21.02,371,39,2\n"12140",2020-12-13,21.3,688,40,2\n"12141",2020-12-17,21.35,148,41,2\n"12142",2020-12-27,21.88,241,42,2\n"12143",2020-12-20,22.15,357,43,2\n"12144",2020-12-20,20.86,298,44,2\n"12145",2020-12-21,21.74,542,45,2\n"12146",2020-12-02,20.73,285,46,2\n"12147",2020-12-20,21.37,231,47,2\n"12148",2020-12-15,22.68,1013,48,2\n"12149",2020-12-17,20.16,197,49,2\n"12150",2020-12-21,21.23,499,50,2\n"12151",2020-12-02,20.28,646,51,2\n"12152",2020-12-10,22.2,386,52,2\n"12153",2020-12-07,19.93,227,53,2\n"12154",2020-12-23,22.33,205,54,2\n"12155",2020-12-15,20.71,341,55,2\n"12156",2020-12-04,21.03,205,56,2\n"12157",2020-12-19,21.16,485,57,2\n"12158",2020-12-03,21.2,288,58,2\n"12159",2020-12-16,21.01,273,59,2\n"12160",2020-12-21,20.28,254,60,2\n"12161",2020-12-17,20.39,168,61,2\n"12162",2020-12-25,21.29,328,62,2\n"12163",2020-12-19,21.75,544,63,2\n"12164",2020-12-22,20.91,345,64,2\n"12165",2020-12-25,20.07,583,65,2\n"12166",2020-12-29,20.37,405,66,2\n"12167",2020-12-15,21.2,109,67,2\n"12168",2020-12-11,20.69,180,68,2\n"12169",2020-12-14,21.45,231,69,2\n"12170",2020-12-27,20.1,164,70,2\n"12171",2020-12-30,21.28,204,71,2\n"12172",2020-12-01,21.16,191,72,2\n"12173",2020-12-10,20.42,230,73,2\n"12174",2020-12-31,21.23,171,74,2\n"12175",2020-12-26,22.34,228,75,2\n"12176",2020-12-25,21.51,222,76,2\n"12177",2020-12-22,19.61,270,77,2\n"12178",2020-12-09,21.4,395,78,2\n"12179",2020-12-21,20.3,510,79,2\n"12180",2020-12-16,21.67,434,80,2\n"12181",2020-12-14,21.79,261,81,2\n"12182",2020-12-18,20.9,212,82,2\n"12183",2020-12-30,22.11,578,83,2\n"12184",2020-12-17,20.25,310,84,2\n"12185",2020-12-14,22.39,453,85,2\n"12186",2020-12-22,20.2,351,86,2\n"12187",2020-12-15,20.13,297,87,2\n"12188",2020-12-02,20.89,239,88,2\n"12189",2020-12-02,21.17,469,89,2\n"12190",2020-12-26,19.82,290,90,2\n"12191",2020-12-31,21.24,262,91,2\n"12192",2020-12-26,20.83,439,92,2\n"12193",2020-12-24,20.29,367,93,2\n"12194",2020-12-13,22.3,593,94,2\n"12195",2020-12-24,22.7,227,95,2\n"12196",2020-12-23,20.38,775,96,2\n"12197",2020-12-23,21.69,76,97,2\n"12198",2020-12-10,19.31,417,98,2\n"12199",2020-12-06,20.86,130,99,2\n"12200",2020-12-12,22.57,164,100,2\n"12201",2020-12-02,20.87,793,1,3\n"12202",2020-12-23,21.69,315,2,3\n"12203",2020-12-15,20.46,336,3,3\n"12204",2020-12-16,21.25,340,4,3\n"12205",2020-12-10,19.8,728,5,3\n"12206",2020-12-03,20.2,543,6,3\n"12207",2020-12-21,20.91,259,7,3\n"12208",2020-12-28,20.94,304,8,3\n"12209",2020-12-15,21.33,247,9,3\n"12210",2020-12-11,20.89,278,10,3\n"12211",2020-12-05,20.8,803,11,3\n"12212",2020-12-03,20.56,734,12,3\n"12213",2020-12-20,21.51,216,13,3\n"12214",2020-12-26,20.99,804,14,3\n"12215",2020-12-30,20.99,570,15,3\n"12216",2020-12-06,20.97,262,16,3\n"12217",2020-12-27,22.24,148,17,3\n"12218",2020-12-24,22.18,336,18,3\n"12219",2020-12-28,22.18,456,19,3\n"12220",2020-12-22,21.32,244,20,3\n"12221",2020-12-02,20.4,469,21,3\n"12222",2020-12-26,21.84,805,22,3\n"12223",2020-12-12,21.65,703,23,3\n"12224",2020-12-24,21.71,638,24,3\n"12225",2020-12-17,21.43,354,25,3\n"12226",2020-12-19,21.56,233,26,3\n"12227",2020-12-30,22.18,473,27,3\n"12228",2020-12-08,21.35,265,28,3\n"12229",2020-12-24,21.27,236,29,3\n"12230",2020-12-01,21.1,366,30,3\n"12231",2020-12-06,21.52,338,31,3\n"12232",2020-12-25,22.02,444,32,3\n"12233",2020-12-20,20.55,149,33,3\n"12234",2020-12-15,21.18,317,34,3\n"12235",2020-12-02,21,249,35,3\n"12236",2020-12-04,21.86,278,36,3\n"12237",2020-12-09,20.6,224,37,3\n"12238",2020-12-29,21.59,259,38,3\n"12239",2020-12-29,21.35,377,39,3\n"12240",2020-12-13,21.38,115,40,3\n"12241",2020-12-17,20.93,425,41,3\n"12242",2020-12-27,21.51,632,42,3\n"12243",2020-12-20,21.88,338,43,3\n"12244",2020-12-20,21.19,236,44,3\n"12245",2020-12-21,22,358,45,3\n"12246",2020-12-02,20.71,263,46,3\n"12247",2020-12-20,21.46,266,47,3\n"12248",2020-12-15,22.17,430,48,3\n"12249",2020-12-17,19.93,412,49,3\n"12250",2020-12-21,20.53,276,50,3\n"12251",2020-12-02,21.17,247,51,3\n"12252",2020-12-10,20.42,152,52,3\n"12253",2020-12-07,20.81,685,53,3\n"12254",2020-12-23,21.17,652,54,3\n"12255",2020-12-15,20.64,270,55,3\n"12256",2020-12-04,21.42,164,56,3\n"12257",2020-12-19,20.24,706,57,3\n"12258",2020-12-03,21.26,300,58,3\n"12259",2020-12-16,21,431,59,3\n"12260",2020-12-21,21.73,228,60,3\n"12261",2020-12-17,21.74,183,61,3\n"12262",2020-12-25,21.32,384,62,3\n"12263",2020-12-19,21.78,443,63,3\n"12264",2020-12-22,21.68,224,64,3\n"12265",2020-12-25,20.9,699,65,3\n"12266",2020-12-29,22.1,258,66,3\n"12267",2020-12-15,20.06,319,67,3\n"12268",2020-12-11,20.93,548,68,3\n"12269",2020-12-14,21.64,276,69,3\n"12270",2020-12-27,21.35,898,70,3\n"12271",2020-12-30,22.17,422,71,3\n"12272",2020-12-01,23.06,223,72,3\n"12273",2020-12-10,19.36,327,73,3\n"12274",2020-12-31,21.66,554,74,3\n"12275",2020-12-26,20.68,539,75,3\n"12276",2020-12-25,20.36,174,76,3\n"12277",2020-12-22,21.66,228,77,3\n"12278",2020-12-09,21.29,116,78,3\n"12279",2020-12-21,20.79,313,79,3\n"12280",2020-12-16,20.66,100,80,3\n"12281",2020-12-14,21.72,428,81,3\n"12282",2020-12-18,20.94,271,82,3\n"12283",2020-12-30,21.08,244,83,3\n"12284",2020-12-17,20.03,262,84,3\n"12285",2020-12-14,22.41,333,85,3\n"12286",2020-12-22,21.23,199,86,3\n"12287",2020-12-15,20.3,311,87,3\n"12288",2020-12-02,21.62,365,88,3\n"12289",2020-12-02,21.18,227,89,3\n"12290",2020-12-26,21.31,165,90,3\n"12291",2020-12-31,20.74,207,91,3\n"12292",2020-12-26,22.32,198,92,3\n"12293",2020-12-24,21.51,331,93,3\n"12294",2020-12-13,21.7,183,94,3\n"12295",2020-12-24,21.09,365,95,3\n"12296",2020-12-23,21.86,302,96,3\n"12297",2020-12-23,22.43,301,97,3\n"12298",2020-12-10,20.49,130,98,3\n"12299",2020-12-06,20.93,137,99,3\n"12300",2020-12-12,21.6,240,100,3\n"12301",2020-12-02,20.02,180,1,4\n"12302",2020-12-23,22.91,188,2,4\n"12303",2020-12-15,22.01,556,3,4\n"12304",2020-12-16,19.99,295,4,4\n"12305",2020-12-10,20.83,384,5,4\n"12306",2020-12-03,21.82,1233,6,4\n"12307",2020-12-21,21.54,402,7,4\n"12308",2020-12-28,21.13,822,8,4\n"12309",2020-12-15,21.86,404,9,4\n"12310",2020-12-11,21.29,384,10,4\n"12311",2020-12-05,21.77,205,11,4\n"12312",2020-12-03,21.36,340,12,4\n"12313",2020-12-20,21.7,249,13,4\n"12314",2020-12-26,21.11,266,14,4\n"12315",2020-12-30,22.59,201,15,4\n"12316",2020-12-06,21.49,379,16,4\n"12317",2020-12-27,21.92,240,17,4\n"12318",2020-12-24,22.33,331,18,4\n"12319",2020-12-28,20.82,463,19,4\n"12320",2020-12-22,20.78,206,20,4\n"12321",2020-12-02,20.5,439,21,4\n"12322",2020-12-26,20.04,1021,22,4\n"12323",2020-12-12,20.78,441,23,4\n"12324",2020-12-24,22.24,314,24,4\n"12325",2020-12-17,20.27,230,25,4\n"12326",2020-12-19,21.36,517,26,4\n"12327",2020-12-30,21.34,245,27,4\n"12328",2020-12-08,21.86,598,28,4\n"12329",2020-12-24,20.8,205,29,4\n"12330",2020-12-01,20.77,434,30,4\n"12331",2020-12-06,20.24,372,31,4\n"12332",2020-12-25,21.06,212,32,4\n"12333",2020-12-20,21.05,382,33,4\n"12334",2020-12-15,22.67,319,34,4\n"12335",2020-12-02,22.75,198,35,4\n"12336",2020-12-04,22,433,36,4\n"12337",2020-12-09,20.67,144,37,4\n"12338",2020-12-29,20.31,380,38,4\n"12339",2020-12-29,22.18,1130,39,4\n"12340",2020-12-13,19.83,621,40,4\n"12341",2020-12-17,21.92,397,41,4\n"12342",2020-12-27,22.08,430,42,4\n"12343",2020-12-20,21.84,936,43,4\n"12344",2020-12-20,21.43,173,44,4\n"12345",2020-12-21,20.34,637,45,4\n"12346",2020-12-02,22,278,46,4\n"12347",2020-12-20,21.27,355,47,4\n"12348",2020-12-15,20.86,385,48,4\n"12349",2020-12-17,20.63,850,49,4\n"12350",2020-12-21,21.52,341,50,4\n"12351",2020-12-02,21.03,174,51,4\n"12352",2020-12-10,20.2,302,52,4\n"12353",2020-12-07,22.37,355,53,4\n"12354",2020-12-23,20.4,391,54,4\n"12355",2020-12-15,21.67,535,55,4\n"12356",2020-12-04,22.48,429,56,4\n"12357",2020-12-19,21.93,242,57,4\n"12358",2020-12-03,21.1,244,58,4\n"12359",2020-12-16,21.75,200,59,4\n"12360",2020-12-21,20.71,274,60,4\n"12361",2020-12-17,20.33,290,61,4\n"12362",2020-12-25,21.36,406,62,4\n"12363",2020-12-19,20.65,108,63,4\n"12364",2020-12-22,21.5,275,64,4\n"12365",2020-12-25,20.14,153,65,4\n"12366",2020-12-29,21.11,359,66,4\n"12367",2020-12-15,20.66,457,67,4\n"12368",2020-12-11,21.67,196,68,4\n"12369",2020-12-14,21.05,449,69,4\n"12370",2020-12-27,20.34,253,70,4\n"12371",2020-12-30,22.11,213,71,4\n"12372",2020-12-01,21.02,313,72,4\n"12373",2020-12-10,19.98,208,73,4\n"12374",2020-12-31,21.06,621,74,4\n"12375",2020-12-26,21.32,248,75,4\n"12376",2020-12-25,21.11,216,76,4\n"12377",2020-12-22,20.75,190,77,4\n"12378",2020-12-09,20.98,218,78,4\n"12379",2020-12-21,20.93,318,79,4\n"12380",2020-12-16,20.71,411,80,4\n"12381",2020-12-14,22.77,295,81,4\n"12382",2020-12-18,21.47,279,82,4\n"12383",2020-12-30,21.37,210,83,4\n"12384",2020-12-17,20.45,182,84,4\n"12385",2020-12-14,21.38,541,85,4\n"12386",2020-12-22,21.53,466,86,4\n"12387",2020-12-15,19.67,179,87,4\n"12388",2020-12-02,21.62,245,88,4\n"12389",2020-12-02,23,788,89,4\n"12390",2020-12-26,21.65,335,90,4\n"12391",2020-12-31,19.73,533,91,4\n"12392",2020-12-26,21.7,509,92,4\n"12393",2020-12-24,20.37,202,93,4\n"12394",2020-12-13,21.53,1103,94,4\n"12395",2020-12-24,21.48,194,95,4\n"12396",2020-12-23,21.71,176,96,4\n"12397",2020-12-23,22.2,506,97,4\n"12398",2020-12-10,21.49,509,98,4\n"12399",2020-12-06,22.52,319,99,4\n"12400",2020-12-12,20.87,110,100,4\n"12401",2020-12-02,21.33,316,1,5\n"12402",2020-12-23,22.28,570,2,5\n"12403",2020-12-15,21.7,747,3,5\n"12404",2020-12-16,22.04,315,4,5\n"12405",2020-12-10,21.72,325,5,5\n"12406",2020-12-03,21.79,191,6,5\n"12407",2020-12-21,19.95,737,7,5\n"12408",2020-12-28,21.12,573,8,5\n"12409",2020-12-15,21.58,362,9,5\n"12410",2020-12-11,22.38,202,10,5\n"12411",2020-12-05,21.07,668,11,5\n"12412",2020-12-03,20.94,614,12,5\n"12413",2020-12-20,20.29,100,13,5\n"12414",2020-12-26,20.82,155,14,5\n"12415",2020-12-30,21.41,1074,15,5\n"12416",2020-12-06,21.69,811,16,5\n"12417",2020-12-27,21.57,605,17,5\n"12418",2020-12-24,21.55,199,18,5\n"12419",2020-12-28,21.74,1089,19,5\n"12420",2020-12-22,20.81,266,20,5\n"12421",2020-12-02,20.65,228,21,5\n"12422",2020-12-26,21.19,648,22,5\n"12423",2020-12-12,22.68,293,23,5\n"12424",2020-12-24,21,272,24,5\n"12425",2020-12-17,21.03,435,25,5\n"12426",2020-12-19,22.16,227,26,5\n"12427",2020-12-30,20.83,242,27,5\n"12428",2020-12-08,20.67,580,28,5\n"12429",2020-12-24,20.66,512,29,5\n"12430",2020-12-01,21.21,443,30,5\n"12431",2020-12-06,22.3,264,31,5\n"12432",2020-12-25,20.79,203,32,5\n"12433",2020-12-20,21.13,574,33,5\n"12434",2020-12-15,22.51,215,34,5\n"12435",2020-12-02,21.51,447,35,5\n"12436",2020-12-04,21.47,224,36,5\n"12437",2020-12-09,20.31,141,37,5\n"12438",2020-12-29,21.07,238,38,5\n"12439",2020-12-29,21.83,931,39,5\n"12440",2020-12-13,20.79,214,40,5\n"12441",2020-12-17,22.5,1140,41,5\n"12442",2020-12-27,21.65,356,42,5\n"12443",2020-12-20,21.42,526,43,5\n"12444",2020-12-20,20.51,256,44,5\n"12445",2020-12-21,21.67,461,45,5\n"12446",2020-12-02,21.57,142,46,5\n"12447",2020-12-20,20.76,571,47,5\n"12448",2020-12-15,21.02,179,48,5\n"12449",2020-12-17,21.97,282,49,5\n"12450",2020-12-21,20.82,303,50,5\n"12451",2020-12-02,22.14,83,51,5\n"12452",2020-12-10,22.18,225,52,5\n"12453",2020-12-07,22.17,182,53,5\n"12454",2020-12-23,21,174,54,5\n"12455",2020-12-15,21.86,471,55,5\n"12456",2020-12-04,21.57,258,56,5\n"12457",2020-12-19,21.18,1480,57,5\n"12458",2020-12-03,20.7,494,58,5\n"12459",2020-12-16,20.31,679,59,5\n"12460",2020-12-21,21.31,494,60,5\n"12461",2020-12-17,21.11,382,61,5\n"12462",2020-12-25,20.08,557,62,5\n"12463",2020-12-19,21.65,174,63,5\n"12464",2020-12-22,21.19,280,64,5\n"12465",2020-12-25,21.17,317,65,5\n"12466",2020-12-29,22.01,448,66,5\n"12467",2020-12-15,20.96,104,67,5\n"12468",2020-12-11,21.51,540,68,5\n"12469",2020-12-14,21.31,662,69,5\n"12470",2020-12-27,21.15,251,70,5\n"12471",2020-12-30,21.92,743,71,5\n"12472",2020-12-01,21.22,424,72,5\n"12473",2020-12-10,20.21,325,73,5\n"12474",2020-12-31,21.22,525,74,5\n"12475",2020-12-26,20.55,202,75,5\n"12476",2020-12-25,20.35,283,76,5\n"12477",2020-12-22,21.26,237,77,5\n"12478",2020-12-09,21.99,313,78,5\n"12479",2020-12-21,22.17,396,79,5\n"12480",2020-12-16,22.93,225,80,5\n"12481",2020-12-14,22.15,887,81,5\n"12482",2020-12-18,21.36,326,82,5\n"12483",2020-12-30,21.17,317,83,5\n"12484",2020-12-17,21.24,622,84,5\n"12485",2020-12-14,20.95,373,85,5\n"12486",2020-12-22,22.16,650,86,5\n"12487",2020-12-15,20.89,164,87,5\n"12488",2020-12-02,21.76,247,88,5\n"12489",2020-12-02,20.34,256,89,5\n"12490",2020-12-26,20.53,304,90,5\n"12491",2020-12-31,21.53,476,91,5\n"12492",2020-12-26,21.09,318,92,5\n"12493",2020-12-24,21.26,231,93,5\n"12494",2020-12-13,21.44,506,94,5\n"12495",2020-12-24,21.09,456,95,5\n"12496",2020-12-23,20.53,199,96,5\n"12497",2020-12-23,20.09,259,97,5\n"12498",2020-12-10,21.41,219,98,5\n"12499",2020-12-06,22.59,365,99,5\n"12500",2020-12-12,19.63,247,100,5\n"12501",2020-12-02,20.7,383,1,6\n"12502",2020-12-23,21.26,544,2,6\n"12503",2020-12-15,21.35,129,3,6\n"12504",2020-12-16,22.57,188,4,6\n"12505",2020-12-10,20.9,270,5,6\n"12506",2020-12-03,21.57,150,6,6\n"12507",2020-12-21,22.48,367,7,6\n"12508",2020-12-28,20.5,291,8,6\n"12509",2020-12-15,22.44,393,9,6\n"12510",2020-12-11,19.68,262,10,6\n"12511",2020-12-05,21.65,349,11,6\n"12512",2020-12-03,22.13,244,12,6\n"12513",2020-12-20,20.36,415,13,6\n"12514",2020-12-26,20.98,343,14,6\n"12515",2020-12-30,21.23,266,15,6\n"12516",2020-12-06,22.28,157,16,6\n"12517",2020-12-27,20.85,777,17,6\n"12518",2020-12-24,20.62,324,18,6\n"12519",2020-12-28,21.17,414,19,6\n"12520",2020-12-22,22.34,1418,20,6\n"12521",2020-12-02,21.39,353,21,6\n"12522",2020-12-26,21.07,226,22,6\n"12523",2020-12-12,20.84,328,23,6\n"12524",2020-12-24,20.46,405,24,6\n"12525",2020-12-17,20.9,341,25,6\n"12526",2020-12-19,21.03,156,26,6\n"12527",2020-12-30,21.21,410,27,6\n"12528",2020-12-08,21.05,277,28,6\n"12529",2020-12-24,20.93,471,29,6\n"12530",2020-12-01,21.95,172,30,6\n"12531",2020-12-06,21.69,540,31,6\n"12532",2020-12-25,20.98,289,32,6\n"12533",2020-12-20,21.53,242,33,6\n"12534",2020-12-15,21.16,211,34,6\n"12535",2020-12-02,21.29,455,35,6\n"12536",2020-12-04,21.17,330,36,6\n"12537",2020-12-09,22.13,827,37,6\n"12538",2020-12-29,20.09,174,38,6\n"12539",2020-12-29,20.73,664,39,6\n"12540",2020-12-13,20.87,613,40,6\n"12541",2020-12-17,20.26,320,41,6\n"12542",2020-12-27,21.64,526,42,6\n"12543",2020-12-20,20.71,408,43,6\n"12544",2020-12-20,21.15,327,44,6\n"12545",2020-12-21,21.44,556,45,6\n"12546",2020-12-02,21.38,463,46,6\n"12547",2020-12-20,21.95,306,47,6\n"12548",2020-12-15,21.07,256,48,6\n"12549",2020-12-17,20.15,485,49,6\n"12550",2020-12-21,21.48,128,50,6\n"12551",2020-12-02,20.41,425,51,6\n"12552",2020-12-10,21.81,235,52,6\n"12553",2020-12-07,21.34,394,53,6\n"12554",2020-12-23,20.88,375,54,6\n"12555",2020-12-15,20.4,167,55,6\n"12556",2020-12-04,21.19,383,56,6\n"12557",2020-12-19,23.06,641,57,6\n"12558",2020-12-03,21.88,547,58,6\n"12559",2020-12-16,21.73,620,59,6\n"12560",2020-12-21,21.01,1050,60,6\n"12561",2020-12-17,22.15,400,61,6\n"12562",2020-12-25,21.65,388,62,6\n"12563",2020-12-19,20.84,316,63,6\n"12564",2020-12-22,19.8,482,64,6\n"12565",2020-12-25,22.25,138,65,6\n"12566",2020-12-29,20.88,347,66,6\n"12567",2020-12-15,20.88,210,67,6\n"12568",2020-12-11,20.69,845,68,6\n"12569",2020-12-14,20.55,340,69,6\n"12570",2020-12-27,20.51,213,70,6\n"12571",2020-12-30,21.92,98,71,6\n"12572",2020-12-01,21.08,357,72,6\n"12573",2020-12-10,20.81,221,73,6\n"12574",2020-12-31,22.14,130,74,6\n"12575",2020-12-26,21.51,243,75,6\n"12576",2020-12-25,19.99,389,76,6\n"12577",2020-12-22,21.29,366,77,6\n"12578",2020-12-09,20.82,298,78,6\n"12579",2020-12-21,22.25,255,79,6\n"12580",2020-12-16,21.63,338,80,6\n"12581",2020-12-14,23.42,145,81,6\n"12582",2020-12-18,20.42,141,82,6\n"12583",2020-12-30,19.99,177,83,6\n"12584",2020-12-17,20.84,307,84,6\n"12585",2020-12-14,21.94,463,85,6\n"12586",2020-12-22,21.51,240,86,6\n"12587",2020-12-15,21.53,505,87,6\n"12588",2020-12-02,21.14,324,88,6\n"12589",2020-12-02,20.68,575,89,6\n"12590",2020-12-26,22.29,347,90,6\n"12591",2020-12-31,21.43,54,91,6\n"12592",2020-12-26,22.17,349,92,6\n"12593",2020-12-24,22.18,463,93,6\n"12594",2020-12-13,21.23,148,94,6\n"12595",2020-12-24,21.42,210,95,6\n"12596",2020-12-23,20.45,119,96,6\n"12597",2020-12-23,21.37,484,97,6\n"12598",2020-12-10,21.84,615,98,6\n"12599",2020-12-06,19.98,270,99,6\n"12600",2020-12-12,21.87,519,100,6\n"12601",2020-12-02,21.19,264,1,7\n"12602",2020-12-23,23.14,410,2,7\n"12603",2020-12-15,20.59,150,3,7\n"12604",2020-12-16,20.89,265,4,7\n"12605",2020-12-10,21.19,256,5,7\n"12606",2020-12-03,20.83,91,6,7\n"12607",2020-12-21,22.19,826,7,7\n"12608",2020-12-28,21.88,426,8,7\n"12609",2020-12-15,21.95,305,9,7\n"12610",2020-12-11,21.6,272,10,7\n"12611",2020-12-05,20.36,176,11,7\n"12612",2020-12-03,21.66,382,12,7\n"12613",2020-12-20,21.63,797,13,7\n"12614",2020-12-26,21.07,150,14,7\n"12615",2020-12-30,21.65,361,15,7\n"12616",2020-12-06,21.51,336,16,7\n"12617",2020-12-27,22.26,361,17,7\n"12618",2020-12-24,22.31,261,18,7\n"12619",2020-12-28,21.56,224,19,7\n"12620",2020-12-22,21.3,253,20,7\n"12621",2020-12-02,20.72,451,21,7\n"12622",2020-12-26,21.43,646,22,7\n"12623",2020-12-12,21.7,191,23,7\n"12624",2020-12-24,20.92,150,24,7\n"12625",2020-12-17,21.02,562,25,7\n"12626",2020-12-19,22.38,267,26,7\n"12627",2020-12-30,23.19,197,27,7\n"12628",2020-12-08,21.87,187,28,7\n"12629",2020-12-24,21.63,204,29,7\n"12630",2020-12-01,22.12,393,30,7\n"12631",2020-12-06,20.44,72,31,7\n"12632",2020-12-25,20.8,462,32,7\n"12633",2020-12-20,20.22,313,33,7\n"12634",2020-12-15,21.57,178,34,7\n"12635",2020-12-02,21.97,214,35,7\n"12636",2020-12-04,20.99,258,36,7\n"12637",2020-12-09,21.51,658,37,7\n"12638",2020-12-29,22.2,197,38,7\n"12639",2020-12-29,21.33,218,39,7\n"12640",2020-12-13,20.93,249,40,7\n"12641",2020-12-17,22.48,459,41,7\n"12642",2020-12-27,20.73,350,42,7\n"12643",2020-12-20,21.29,168,43,7\n"12644",2020-12-20,21.78,746,44,7\n"12645",2020-12-21,22.46,510,45,7\n"12646",2020-12-02,21.37,1169,46,7\n"12647",2020-12-20,20.98,625,47,7\n"12648",2020-12-15,21.62,121,48,7\n"12649",2020-12-17,20.71,328,49,7\n"12650",2020-12-21,20.93,467,50,7\n"12651",2020-12-02,22.91,141,51,7\n"12652",2020-12-10,20.86,535,52,7\n"12653",2020-12-07,20.04,455,53,7\n"12654",2020-12-23,20,773,54,7\n"12655",2020-12-15,20.93,242,55,7\n"12656",2020-12-04,20.57,196,56,7\n"12657",2020-12-19,21.55,1554,57,7\n"12658",2020-12-03,21.92,532,58,7\n"12659",2020-12-16,20.72,339,59,7\n"12660",2020-12-21,21.31,185,60,7\n"12661",2020-12-17,21.05,284,61,7\n"12662",2020-12-25,21.52,330,62,7\n"12663",2020-12-19,21.11,377,63,7\n"12664",2020-12-22,21.05,398,64,7\n"12665",2020-12-25,21.26,145,65,7\n"12666",2020-12-29,20.69,227,66,7\n"12667",2020-12-15,21.68,250,67,7\n"12668",2020-12-11,21.28,268,68,7\n"12669",2020-12-14,22.67,399,69,7\n"12670",2020-12-27,21.01,254,70,7\n"12671",2020-12-30,22.7,157,71,7\n"12672",2020-12-01,22.43,558,72,7\n"12673",2020-12-10,21.48,386,73,7\n"12674",2020-12-31,21.69,538,74,7\n"12675",2020-12-26,20.84,163,75,7\n"12676",2020-12-25,21.77,452,76,7\n"12677",2020-12-22,21.21,493,77,7\n"12678",2020-12-09,21.76,360,78,7\n"12679",2020-12-21,21.28,165,79,7\n"12680",2020-12-16,21.64,288,80,7\n"12681",2020-12-14,21.36,207,81,7\n"12682",2020-12-18,21.32,681,82,7\n"12683",2020-12-30,21.07,330,83,7\n"12684",2020-12-17,21.32,185,84,7\n"12685",2020-12-14,21.34,143,85,7\n"12686",2020-12-22,21.49,358,86,7\n"12687",2020-12-15,20.11,264,87,7\n"12688",2020-12-02,21.54,540,88,7\n"12689",2020-12-02,20.92,498,89,7\n"12690",2020-12-26,20.54,417,90,7\n"12691",2020-12-31,22.1,249,91,7\n"12692",2020-12-26,21.69,311,92,7\n"12693",2020-12-24,21.37,306,93,7\n"12694",2020-12-13,21.52,358,94,7\n"12695",2020-12-24,21.94,378,95,7\n"12696",2020-12-23,20.59,784,96,7\n"12697",2020-12-23,21.32,759,97,7\n"12698",2020-12-10,20.18,208,98,7\n"12699",2020-12-06,21.19,222,99,7\n"12700",2020-12-12,20.86,260,100,7\n"12701",2020-12-02,21.42,424,1,8\n"12702",2020-12-23,21.04,161,2,8\n"12703",2020-12-15,20.99,475,3,8\n"12704",2020-12-16,22.64,202,4,8\n"12705",2020-12-10,20.94,244,5,8\n"12706",2020-12-03,21.26,444,6,8\n"12707",2020-12-21,20.72,327,7,8\n"12708",2020-12-28,21.44,493,8,8\n"12709",2020-12-15,22.33,347,9,8\n"12710",2020-12-11,20.54,912,10,8\n"12711",2020-12-05,22.11,351,11,8\n"12712",2020-12-03,21.57,437,12,8\n"12713",2020-12-20,21.2,168,13,8\n"12714",2020-12-26,22.58,398,14,8\n"12715",2020-12-30,20.63,154,15,8\n"12716",2020-12-06,21.1,560,16,8\n"12717",2020-12-27,21.35,95,17,8\n"12718",2020-12-24,21.19,479,18,8\n"12719",2020-12-28,21.98,207,19,8\n"12720",2020-12-22,21.46,414,20,8\n"12721",2020-12-02,21.32,391,21,8\n"12722",2020-12-26,20.76,216,22,8\n"12723",2020-12-12,20.69,262,23,8\n"12724",2020-12-24,21.53,499,24,8\n"12725",2020-12-17,21.98,459,25,8\n"12726",2020-12-19,21.04,102,26,8\n"12727",2020-12-30,20.94,151,27,8\n"12728",2020-12-08,20.61,454,28,8\n"12729",2020-12-24,20.27,338,29,8\n"12730",2020-12-01,20.45,291,30,8\n"12731",2020-12-06,21.48,410,31,8\n"12732",2020-12-25,21.22,167,32,8\n"12733",2020-12-20,20.26,298,33,8\n"12734",2020-12-15,21.38,172,34,8\n"12735",2020-12-02,21.5,295,35,8\n"12736",2020-12-04,20.57,362,36,8\n"12737",2020-12-09,21.94,427,37,8\n"12738",2020-12-29,21.71,237,38,8\n"12739",2020-12-29,21.82,460,39,8\n"12740",2020-12-13,21.92,689,40,8\n"12741",2020-12-17,20.37,710,41,8\n"12742",2020-12-27,21.29,102,42,8\n"12743",2020-12-20,22.32,724,43,8\n"12744",2020-12-20,20.84,320,44,8\n"12745",2020-12-21,21.95,206,45,8\n"12746",2020-12-02,20.54,355,46,8\n"12747",2020-12-20,20.84,451,47,8\n"12748",2020-12-15,20.59,515,48,8\n"12749",2020-12-17,21.61,431,49,8\n"12750",2020-12-21,20.53,358,50,8\n"12751",2020-12-02,21.7,310,51,8\n"12752",2020-12-10,20.63,691,52,8\n"12753",2020-12-07,20.6,328,53,8\n"12754",2020-12-23,21,431,54,8\n"12755",2020-12-15,22.67,409,55,8\n"12756",2020-12-04,21.8,321,56,8\n"12757",2020-12-19,20.7,294,57,8\n"12758",2020-12-03,20.74,297,58,8\n"12759",2020-12-16,21.39,478,59,8\n"12760",2020-12-21,21.08,490,60,8\n"12761",2020-12-17,20.67,276,61,8\n"12762",2020-12-25,20.93,303,62,8\n"12763",2020-12-19,21.79,1016,63,8\n"12764",2020-12-22,21.37,1002,64,8\n"12765",2020-12-25,21.89,610,65,8\n"12766",2020-12-29,22.19,240,66,8\n"12767",2020-12-15,20.44,241,67,8\n"12768",2020-12-11,22.97,188,68,8\n"12769",2020-12-14,21.82,420,69,8\n"12770",2020-12-27,20.29,724,70,8\n"12771",2020-12-30,20.92,533,71,8\n"12772",2020-12-01,21.58,398,72,8\n"12773",2020-12-10,21.62,429,73,8\n"12774",2020-12-31,21.29,229,74,8\n"12775",2020-12-26,20.61,296,75,8\n"12776",2020-12-25,21.72,375,76,8\n"12777",2020-12-22,21.14,455,77,8\n"12778",2020-12-09,21.23,369,78,8\n"12779",2020-12-21,21.85,254,79,8\n"12780",2020-12-16,20.73,407,80,8\n"12781",2020-12-14,21.65,251,81,8\n"12782",2020-12-18,22.12,396,82,8\n"12783",2020-12-30,21.9,616,83,8\n"12784",2020-12-17,21.76,331,84,8\n"12785",2020-12-14,21.62,261,85,8\n"12786",2020-12-22,21.55,253,86,8\n"12787",2020-12-15,21.44,202,87,8\n"12788",2020-12-02,22.53,297,88,8\n"12789",2020-12-02,22.63,1135,89,8\n"12790",2020-12-26,21.32,452,90,8\n"12791",2020-12-31,21.31,361,91,8\n"12792",2020-12-26,21.76,461,92,8\n"12793",2020-12-24,21.31,546,93,8\n"12794",2020-12-13,21.95,157,94,8\n"12795",2020-12-24,22.32,582,95,8\n"12796",2020-12-23,22.06,148,96,8\n"12797",2020-12-23,21.65,164,97,8\n"12798",2020-12-10,22.03,430,98,8\n"12799",2020-12-06,20.93,144,99,8\n"12800",2020-12-12,21.93,199,100,8\n"12801",2020-12-02,22.09,212,1,9\n"12802",2020-12-23,21.16,261,2,9\n"12803",2020-12-15,21.05,322,3,9\n"12804",2020-12-16,22.07,269,4,9\n"12805",2020-12-10,21.44,432,5,9\n"12806",2020-12-03,22.29,418,6,9\n"12807",2020-12-21,21.73,881,7,9\n"12808",2020-12-28,19.27,469,8,9\n"12809",2020-12-15,21.63,445,9,9\n"12810",2020-12-11,20.92,274,10,9\n"12811",2020-12-05,20.67,162,11,9\n"12812",2020-12-03,21.33,630,12,9\n"12813",2020-12-20,21.1,308,13,9\n"12814",2020-12-26,20.75,841,14,9\n"12815",2020-12-30,19.91,500,15,9\n"12816",2020-12-06,20.79,368,16,9\n"12817",2020-12-27,21.52,505,17,9\n"12818",2020-12-24,22.24,260,18,9\n"12819",2020-12-28,21.06,239,19,9\n"12820",2020-12-22,21.72,635,20,9\n"12821",2020-12-02,21.08,222,21,9\n"12822",2020-12-26,20.54,249,22,9\n"12823",2020-12-12,21.74,160,23,9\n"12824",2020-12-24,21.42,400,24,9\n"12825",2020-12-17,21.35,337,25,9\n"12826",2020-12-19,20.55,473,26,9\n"12827",2020-12-30,21.2,398,27,9\n"12828",2020-12-08,22.54,347,28,9\n"12829",2020-12-24,21.15,257,29,9\n"12830",2020-12-01,21.26,491,30,9\n"12831",2020-12-06,21.55,806,31,9\n"12832",2020-12-25,21.46,608,32,9\n"12833",2020-12-20,20.47,220,33,9\n"12834",2020-12-15,20.68,213,34,9\n"12835",2020-12-02,21.34,403,35,9\n"12836",2020-12-04,21.04,506,36,9\n"12837",2020-12-09,20.34,299,37,9\n"12838",2020-12-29,20.93,488,38,9\n"12839",2020-12-29,20.05,454,39,9\n"12840",2020-12-13,22.05,614,40,9\n"12841",2020-12-17,20.05,330,41,9\n"12842",2020-12-27,22.33,504,42,9\n"12843",2020-12-20,21.66,451,43,9\n"12844",2020-12-20,21.81,338,44,9\n"12845",2020-12-21,21.26,207,45,9\n"12846",2020-12-02,21.3,249,46,9\n"12847",2020-12-20,20.19,1083,47,9\n"12848",2020-12-15,21.02,192,48,9\n"12849",2020-12-17,21.67,330,49,9\n"12850",2020-12-21,21.05,308,50,9\n"12851",2020-12-02,20.81,162,51,9\n"12852",2020-12-10,20.07,369,52,9\n"12853",2020-12-07,21.57,800,53,9\n"12854",2020-12-23,20.44,394,54,9\n"12855",2020-12-15,21.43,407,55,9\n"12856",2020-12-04,21.44,483,56,9\n"12857",2020-12-19,21.35,201,57,9\n"12858",2020-12-03,20.67,338,58,9\n"12859",2020-12-16,21.04,493,59,9\n"12860",2020-12-21,19.58,229,60,9\n"12861",2020-12-17,19.96,224,61,9\n"12862",2020-12-25,21.19,280,62,9\n"12863",2020-12-19,21.23,442,63,9\n"12864",2020-12-22,20.84,639,64,9\n"12865",2020-12-25,20.59,307,65,9\n"12866",2020-12-29,23.07,188,66,9\n"12867",2020-12-15,22.37,194,67,9\n"12868",2020-12-11,21.8,153,68,9\n"12869",2020-12-14,20.61,171,69,9\n"12870",2020-12-27,21.58,144,70,9\n"12871",2020-12-30,21.01,294,71,9\n"12872",2020-12-01,20.52,159,72,9\n"12873",2020-12-10,21.27,169,73,9\n"12874",2020-12-31,21.51,268,74,9\n"12875",2020-12-26,21.09,362,75,9\n"12876",2020-12-25,21.51,384,76,9\n"12877",2020-12-22,19.97,344,77,9\n"12878",2020-12-09,21.03,465,78,9\n"12879",2020-12-21,23.12,155,79,9\n"12880",2020-12-16,21.88,321,80,9\n"12881",2020-12-14,20.67,383,81,9\n"12882",2020-12-18,20.78,837,82,9\n"12883",2020-12-30,22.04,474,83,9\n"12884",2020-12-17,20.8,689,84,9\n"12885",2020-12-14,21.76,180,85,9\n"12886",2020-12-22,20.92,249,86,9\n"12887",2020-12-15,20.36,245,87,9\n"12888",2020-12-02,21.54,359,88,9\n"12889",2020-12-02,21.48,242,89,9\n"12890",2020-12-26,20.91,785,90,9\n"12891",2020-12-31,20.46,184,91,9\n"12892",2020-12-26,20.29,566,92,9\n"12893",2020-12-24,19.89,730,93,9\n"12894",2020-12-13,21.59,460,94,9\n"12895",2020-12-24,21.11,447,95,9\n"12896",2020-12-23,21.85,320,96,9\n"12897",2020-12-23,21.45,452,97,9\n"12898",2020-12-10,20.61,391,98,9\n"12899",2020-12-06,22.27,384,99,9\n"12900",2020-12-12,22.08,264,100,9\n"12901",2020-12-02,21.83,255,1,10\n"12902",2020-12-23,21.66,302,2,10\n"12903",2020-12-15,21.68,862,3,10\n"12904",2020-12-16,21.95,348,4,10\n"12905",2020-12-10,20.8,402,5,10\n"12906",2020-12-03,20.4,142,6,10\n"12907",2020-12-21,20.67,354,7,10\n"12908",2020-12-28,21.12,269,8,10\n"12909",2020-12-15,20.94,529,9,10\n"12910",2020-12-11,19.82,571,10,10\n"12911",2020-12-05,20.1,120,11,10\n"12912",2020-12-03,20.58,149,12,10\n"12913",2020-12-20,22.17,397,13,10\n"12914",2020-12-26,20.86,257,14,10\n"12915",2020-12-30,21.73,576,15,10\n"12916",2020-12-06,20.05,202,16,10\n"12917",2020-12-27,21.92,360,17,10\n"12918",2020-12-24,21.48,227,18,10\n"12919",2020-12-28,22.05,259,19,10\n"12920",2020-12-22,20.8,545,20,10\n"12921",2020-12-02,20.45,216,21,10\n"12922",2020-12-26,21.13,348,22,10\n"12923",2020-12-12,19.96,186,23,10\n"12924",2020-12-24,20.87,708,24,10\n"12925",2020-12-17,19.98,163,25,10\n"12926",2020-12-19,21.67,317,26,10\n"12927",2020-12-30,21.26,166,27,10\n"12928",2020-12-08,21.03,130,28,10\n"12929",2020-12-24,21,435,29,10\n"12930",2020-12-01,20.48,198,30,10\n"12931",2020-12-06,21.59,287,31,10\n"12932",2020-12-25,21.47,111,32,10\n"12933",2020-12-20,21.36,573,33,10\n"12934",2020-12-15,20.64,360,34,10\n"12935",2020-12-02,21.2,246,35,10\n"12936",2020-12-04,21.07,288,36,10\n"12937",2020-12-09,20.24,225,37,10\n"12938",2020-12-29,20.86,401,38,10\n"12939",2020-12-29,22.49,620,39,10\n"12940",2020-12-13,21.95,330,40,10\n"12941",2020-12-17,21.23,202,41,10\n"12942",2020-12-27,21.35,462,42,10\n"12943",2020-12-20,21.46,329,43,10\n"12944",2020-12-20,21.44,307,44,10\n"12945",2020-12-21,21.14,182,45,10\n"12946",2020-12-02,21.41,871,46,10\n"12947",2020-12-20,21.83,506,47,10\n"12948",2020-12-15,21.75,315,48,10\n"12949",2020-12-17,22.65,350,49,10\n"12950",2020-12-21,20.95,480,50,10\n"12951",2020-12-02,21.4,287,51,10\n"12952",2020-12-10,21.63,320,52,10\n"12953",2020-12-07,22.18,180,53,10\n"12954",2020-12-23,22.07,164,54,10\n"12955",2020-12-15,21.49,215,55,10\n"12956",2020-12-04,21.31,196,56,10\n"12957",2020-12-19,21.3,359,57,10\n"12958",2020-12-03,21.6,181,58,10\n"12959",2020-12-16,21.65,179,59,10\n"12960",2020-12-21,21.44,171,60,10\n"12961",2020-12-17,20.75,266,61,10\n"12962",2020-12-25,21.19,194,62,10\n"12963",2020-12-19,21.04,575,63,10\n"12964",2020-12-22,20.89,510,64,10\n"12965",2020-12-25,21.09,329,65,10\n"12966",2020-12-29,21.29,340,66,10\n"12967",2020-12-15,21.25,456,67,10\n"12968",2020-12-11,22.21,311,68,10\n"12969",2020-12-14,19.69,528,69,10\n"12970",2020-12-27,22.44,413,70,10\n"12971",2020-12-30,19.85,201,71,10\n"12972",2020-12-01,20.32,313,72,10\n"12973",2020-12-10,21.04,243,73,10\n"12974",2020-12-31,21.47,380,74,10\n"12975",2020-12-26,21.2,868,75,10\n"12976",2020-12-25,20.56,458,76,10\n"12977",2020-12-22,22.04,650,77,10\n"12978",2020-12-09,20.68,324,78,10\n"12979",2020-12-21,20.86,385,79,10\n"12980",2020-12-16,22.09,112,80,10\n"12981",2020-12-14,21.2,253,81,10\n"12982",2020-12-18,20.87,536,82,10\n"12983",2020-12-30,21.78,394,83,10\n"12984",2020-12-17,21.75,456,84,10\n"12985",2020-12-14,21.92,290,85,10\n"12986",2020-12-22,20.45,346,86,10\n"12987",2020-12-15,22.29,209,87,10\n"12988",2020-12-02,20.81,142,88,10\n"12989",2020-12-02,22.17,139,89,10\n"12990",2020-12-26,21.9,233,90,10\n"12991",2020-12-31,20.77,227,91,10\n"12992",2020-12-26,21.21,430,92,10\n"12993",2020-12-24,21.78,380,93,10\n"12994",2020-12-13,21.3,176,94,10\n"12995",2020-12-24,21.17,188,95,10\n"12996",2020-12-23,22.39,352,96,10\n"12997",2020-12-23,21.47,270,97,10\n"12998",2020-12-10,22.32,717,98,10\n"12999",2020-12-06,21.27,282,99,10\n"13000",2020-12-12,21.17,299,100,10\n'
In [211]:
bny.read()
Out[211]:
'//łotwa\n//wstęp (co będe robil, na jakich danych, jakie zjawisko analizuje)\n//opis bazy danych (+statystyki opisowe)\n//wstawic pierwszy i ostatni model (bez pośrednich)\n\n\n//teoria logitu\n//zawrzeć wzór (logit) w opisie\n//pokazac zaleznosc\n//pamietac o hipotezach badawczych (maja byc i mozna je opisac ewentualnie)\n//wyniki:\n//opisanie tabel\n\n//sformułuj wnioski\n//co zostalo zrobione i po co, i co z hipotezami, co nas zaskoczylo, co można zrobić więcej\n\n//propozycja rozwinięcia badania\n\n//nie używaj procentów (bo 1% procent to źle, o 1p% jak już, ale lepiej o 0.01)\n\n//nie używać:\n//wyrzucona -> pominięta\n\n//model nie jest wyjaśniony, zjawisko jest\n\n\nprzykład:\ngen bin_trust_part = 0\nreplace bin_trust_part = 1 if trust_parties==3\n\n\nkod:\n\n\ntab neighbours_immigrants\ntab neighbours_homosexuals\ntab trust_foreigners\n\n\ndescribe\nsummarize age\nhistogram age\n\n\n\n\ngen bin_trust_neighbourhood = 0\nreplace bin_trust_neighbourhood = 1 if trust_neighbourhood == 3\ntab bin_trust_neighbourhood\n\ngen bin_trust_first = 1\nreplace bin_trust_first = 0 if trust_first == 1\ntab bin_trust_first\n\nsummarize tv_time\ntab life_satisfaction\ntab afford_vacation\ntab rural\ntab edu_higher\ntab neighbours_race\n\n\nprobit neighbours_race neighbours_immigrants neighbours_homosexuals bin_trust_foreigners bin_trust_first bin_trust_neighbourhood bin_trust_general internet tv_time life_satisfaction afford_vacation rural edu_higher age female\n//trust_first, trust_neighbourhood, trust_general, internet, tv_time, afford_vacation, rural, edu_higher, female\n\n//badanie korelacji między zmiennymi objaśniającymi (bin_trust_foreigners oraz bin_trust_general z bin_trust_first wysoce skorelowane, a także internet i afford_vacation powyżej 0,25)\npwcorr neighbours_immigrants neighbours_homosexuals bin_trust_foreigners bin_trust_first bin_trust_neighbourhood bin_trust_general internet tv_time life_satisfaction afford_vacation rural edu_higher\n\n\nprobit neighbours_race bin_trust_first\nprobit neighbours_race afford_vacation\n\n//pierwszy probit\nprobit neighbours_race bin_trust_first bin_trust_neighbourhood tv_time life_satisfaction afford_vacation rural edu_higher age\n\n//wyrzucam bin_trust_neighbourhood, tv_time, edu_higher\nprobit neighbours_race bin_trust_first life_satisfaction afford_vacation rural age\n\n\n//wyrzucam rural lub afford_vacation\nprobit neighbours_race rural\nprobit neighbours_race afford_vacation\n\n//wyrzucam rural\nprobit neighbours_race bin_trust_first life_satisfaction afford_vacation age\n\n//p-value poniżej 0.05\nprobit neighbours_race bin_trust_first life_satisfaction age\n\n\n\nprobit neighbours_race internet\nprobit neighbours_race edu_higher\n\n\n\n\n//fitstat\nfitstat\n\nmargins\nmargins, dydx(*)\n\n\n\n\n//wszystko klasyfikuje jako minus\nlstat\nlroc\n\n//próg odcięcia na poziomie 0.16, bo 0.16 powinno byc klasyfikowane jako +\ntab neighbours_race\nlstat, cutoff (0.16)\n\n//lepszy próg odcięcia\nlstat, cutoff(0.2)\nlroc\n\n//http://www.ekonometria.wne.uw.edu.pl/uploads/Main/zmienne_binarne.pdf\n\n\n'
In [212]:
with open("C:\\Users\\igors\\Downloads\\łotwa.txt", encoding="UTF-8") as bny:
    print(bny.read().splitlines()[:10])
['//łotwa', '//wstęp (co będe robil, na jakich danych, jakie zjawisko analizuje)', '//opis bazy danych (+statystyki opisowe)', '//wstawic pierwszy i ostatni model (bez pośrednich)', '', '', '//teoria logitu', '//zawrzeć wzór (logit) w opisie', '//pokazac zaleznosc', '//pamietac o hipotezach badawczych (maja byc i mozna je opisac ewentualnie)']
In [213]:
with open("C:\\Users\\igors\\Downloads\\łotwa.txt", encoding="UTF-8") as bny:
    print(bny.readline(), bny.readline(), bny.readline(), sep="x")
//łotwa
x//wstęp (co będe robil, na jakich danych, jakie zjawisko analizuje)
x//opis bazy danych (+statystyki opisowe)

In [214]:
f = open("C:\\Users\\igors\\Downloads\\testowy.txt","w")
f.write("To plik tekstowy testowy z pythona 21-07-2022. /n fajnie \n co")
Out[214]:
61
In [215]:
f.write("i jeszcze to")
Out[215]:
12
In [216]:
f.close()
In [217]:
f= open("C:\\Users\\igors\\Downloads\\testowy.txt","w")
f.writelines(["I jeszcze tutaj metodą writelines \n żeby było fajnie", "oraz 2 linia", "\n i trzecia"])
In [218]:
f.close()
In [219]:
x = [
    range(3),
    (None, "A", 3, 4.0)
]

with open("C:\\Users\\igors\\Downloads\\testowy2.txt","wb") as j:
    pickle.dump(x,j)
In [220]:
excele = os.path.join(os.getcwd(),"Downloads","*.xlsx")
glob.glob(excele)
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
~\AppData\Local\Temp/ipykernel_12268/3635577889.py in <module>
----> 1 excele = os.path.join(os.getcwd(),"Downloads","*.xlsx")
      2 glob.glob(excele)

NameError: name 'os' is not defined
In [221]:
pd.read_excel("C:\\Users\\igors\\Downloads\\supermarket.xlsx").head()
Out[221]:
LP JED waga NAZWA KAUFLAND KOREKTY01 KOREKTY02 KOREKTY03 komentarz 03_2020 UPROCENT ZRODLO
0 NaN NaN 0.08 RYŻ ? 100.899158 100.507519 NaN NaN NaN NaN
1 1.0 1kg NaN Ryż biały NaN 100.816387 99.713820 NaN braki NaN A
2 2.0 400g NaN Ryż długoziarnisty, w torebkach do gotowania, ... NaN 100.981996 101.307536 NaN braki NaN A
3 NaN NaN 0.10 MĄKA PSZENNA NaN 101.568668 100.750199 NaN NaN NaN NaN
4 3.0 1kg NaN Mąka pszenna "Poznańska" NaN 102.005068 101.177074 NaN braki NaN A
In [222]:
x = np.random.random(8).reshape(2,4)
x
Out[222]:
array([[0.59187528, 0.77538081, 0.1168718 , 0.03339043],
       [0.71644141, 0.45698376, 0.55700161, 0.71074503]])
In [241]:
np.savetxt(os.path.join(os.getcwd(),"Downloads","testowyzapis.txt"),x)
In [242]:
with open(os.path.join(os.getcwd(),"Downloads","testowyzapis.txt")) as test:
    print(test.read())
5.918752823667952079e-01 7.753808110014438482e-01 1.168717959393731354e-01 3.339042651644341664e-02
7.164414119543410786e-01 4.569837578043514092e-01 5.570016116452168875e-01 7.107450341693631879e-01

In [243]:
np.loadtxt(os.path.join(os.getcwd(),"Downloads","testowyzapis.txt"))
Out[243]:
array([[0.59187528, 0.77538081, 0.1168718 , 0.03339043],
       [0.71644141, 0.45698376, 0.55700161, 0.71074503]])
In [239]:
urllib.request.URLopener().retrieve(
    "https://raw.githubusercontent.com/gagolews/Analiza_danych_w_jezyku_Python/master/zbiory_danych/iris.data.gz",
    os.path.join(os.getcwd(),"Downloads","iris.data.gz")
)
Out[239]:
('C:\\Users\\igors\\Downloads\\iris.data.gz',
 <http.client.HTTPMessage at 0x1ccd2e6f9a0>)
In [240]:
np.loadtxt(os.path.join(os.getcwd(),"Downloads","iris.data.gz"))
Out[240]:
array([[5.1, 3.5, 1.4, 0.2],
       [4.9, 3. , 1.4, 0.2],
       [4.7, 3.2, 1.3, 0.2],
       [4.6, 3.1, 1.5, 0.2],
       [5. , 3.6, 1.4, 0.2],
       [5.4, 3.9, 1.7, 0.4],
       [4.6, 3.4, 1.4, 0.3],
       [5. , 3.4, 1.5, 0.2],
       [4.4, 2.9, 1.4, 0.2],
       [4.9, 3.1, 1.5, 0.1],
       [5.4, 3.7, 1.5, 0.2],
       [4.8, 3.4, 1.6, 0.2],
       [4.8, 3. , 1.4, 0.1],
       [4.3, 3. , 1.1, 0.1],
       [5.8, 4. , 1.2, 0.2],
       [5.7, 4.4, 1.5, 0.4],
       [5.4, 3.9, 1.3, 0.4],
       [5.1, 3.5, 1.4, 0.3],
       [5.7, 3.8, 1.7, 0.3],
       [5.1, 3.8, 1.5, 0.3],
       [5.4, 3.4, 1.7, 0.2],
       [5.1, 3.7, 1.5, 0.4],
       [4.6, 3.6, 1. , 0.2],
       [5.1, 3.3, 1.7, 0.5],
       [4.8, 3.4, 1.9, 0.2],
       [5. , 3. , 1.6, 0.2],
       [5. , 3.4, 1.6, 0.4],
       [5.2, 3.5, 1.5, 0.2],
       [5.2, 3.4, 1.4, 0.2],
       [4.7, 3.2, 1.6, 0.2],
       [4.8, 3.1, 1.6, 0.2],
       [5.4, 3.4, 1.5, 0.4],
       [5.2, 4.1, 1.5, 0.1],
       [5.5, 4.2, 1.4, 0.2],
       [4.9, 3.1, 1.5, 0.2],
       [5. , 3.2, 1.2, 0.2],
       [5.5, 3.5, 1.3, 0.2],
       [4.9, 3.6, 1.4, 0.1],
       [4.4, 3. , 1.3, 0.2],
       [5.1, 3.4, 1.5, 0.2],
       [5. , 3.5, 1.3, 0.3],
       [4.5, 2.3, 1.3, 0.3],
       [4.4, 3.2, 1.3, 0.2],
       [5. , 3.5, 1.6, 0.6],
       [5.1, 3.8, 1.9, 0.4],
       [4.8, 3. , 1.4, 0.3],
       [5.1, 3.8, 1.6, 0.2],
       [4.6, 3.2, 1.4, 0.2],
       [5.3, 3.7, 1.5, 0.2],
       [5. , 3.3, 1.4, 0.2],
       [7. , 3.2, 4.7, 1.4],
       [6.4, 3.2, 4.5, 1.5],
       [6.9, 3.1, 4.9, 1.5],
       [5.5, 2.3, 4. , 1.3],
       [6.5, 2.8, 4.6, 1.5],
       [5.7, 2.8, 4.5, 1.3],
       [6.3, 3.3, 4.7, 1.6],
       [4.9, 2.4, 3.3, 1. ],
       [6.6, 2.9, 4.6, 1.3],
       [5.2, 2.7, 3.9, 1.4],
       [5. , 2. , 3.5, 1. ],
       [5.9, 3. , 4.2, 1.5],
       [6. , 2.2, 4. , 1. ],
       [6.1, 2.9, 4.7, 1.4],
       [5.6, 2.9, 3.6, 1.3],
       [6.7, 3.1, 4.4, 1.4],
       [5.6, 3. , 4.5, 1.5],
       [5.8, 2.7, 4.1, 1. ],
       [6.2, 2.2, 4.5, 1.5],
       [5.6, 2.5, 3.9, 1.1],
       [5.9, 3.2, 4.8, 1.8],
       [6.1, 2.8, 4. , 1.3],
       [6.3, 2.5, 4.9, 1.5],
       [6.1, 2.8, 4.7, 1.2],
       [6.4, 2.9, 4.3, 1.3],
       [6.6, 3. , 4.4, 1.4],
       [6.8, 2.8, 4.8, 1.4],
       [6.7, 3. , 5. , 1.7],
       [6. , 2.9, 4.5, 1.5],
       [5.7, 2.6, 3.5, 1. ],
       [5.5, 2.4, 3.8, 1.1],
       [5.5, 2.4, 3.7, 1. ],
       [5.8, 2.7, 3.9, 1.2],
       [6. , 2.7, 5.1, 1.6],
       [5.4, 3. , 4.5, 1.5],
       [6. , 3.4, 4.5, 1.6],
       [6.7, 3.1, 4.7, 1.5],
       [6.3, 2.3, 4.4, 1.3],
       [5.6, 3. , 4.1, 1.3],
       [5.5, 2.5, 4. , 1.3],
       [5.5, 2.6, 4.4, 1.2],
       [6.1, 3. , 4.6, 1.4],
       [5.8, 2.6, 4. , 1.2],
       [5. , 2.3, 3.3, 1. ],
       [5.6, 2.7, 4.2, 1.3],
       [5.7, 3. , 4.2, 1.2],
       [5.7, 2.9, 4.2, 1.3],
       [6.2, 2.9, 4.3, 1.3],
       [5.1, 2.5, 3. , 1.1],
       [5.7, 2.8, 4.1, 1.3],
       [6.3, 3.3, 6. , 2.5],
       [5.8, 2.7, 5.1, 1.9],
       [7.1, 3. , 5.9, 2.1],
       [6.3, 2.9, 5.6, 1.8],
       [6.5, 3. , 5.8, 2.2],
       [7.6, 3. , 6.6, 2.1],
       [4.9, 2.5, 4.5, 1.7],
       [7.3, 2.9, 6.3, 1.8],
       [6.7, 2.5, 5.8, 1.8],
       [7.2, 3.6, 6.1, 2.5],
       [6.5, 3.2, 5.1, 2. ],
       [6.4, 2.7, 5.3, 1.9],
       [6.8, 3. , 5.5, 2.1],
       [5.7, 2.5, 5. , 2. ],
       [5.8, 2.8, 5.1, 2.4],
       [6.4, 3.2, 5.3, 2.3],
       [6.5, 3. , 5.5, 1.8],
       [7.7, 3.8, 6.7, 2.2],
       [7.7, 2.6, 6.9, 2.3],
       [6. , 2.2, 5. , 1.5],
       [6.9, 3.2, 5.7, 2.3],
       [5.6, 2.8, 4.9, 2. ],
       [7.7, 2.8, 6.7, 2. ],
       [6.3, 2.7, 4.9, 1.8],
       [6.7, 3.3, 5.7, 2.1],
       [7.2, 3.2, 6. , 1.8],
       [6.2, 2.8, 4.8, 1.8],
       [6.1, 3. , 4.9, 1.8],
       [6.4, 2.8, 5.6, 2.1],
       [7.2, 3. , 5.8, 1.6],
       [7.4, 2.8, 6.1, 1.9],
       [7.9, 3.8, 6.4, 2. ],
       [6.4, 2.8, 5.6, 2.2],
       [6.3, 2.8, 5.1, 1.5],
       [6.1, 2.6, 5.6, 1.4],
       [7.7, 3. , 6.1, 2.3],
       [6.3, 3.4, 5.6, 2.4],
       [6.4, 3.1, 5.5, 1.8],
       [6. , 3. , 4.8, 1.8],
       [6.9, 3.1, 5.4, 2.1],
       [6.7, 3.1, 5.6, 2.4],
       [6.9, 3.1, 5.1, 2.3],
       [5.8, 2.7, 5.1, 1.9],
       [6.8, 3.2, 5.9, 2.3],
       [6.7, 3.3, 5.7, 2.5],
       [6.7, 3. , 5.2, 2.3],
       [6.3, 2.5, 5. , 1.9],
       [6.5, 3. , 5.2, 2. ],
       [6.2, 3.4, 5.4, 2.3],
       [5.9, 3. , 5.1, 1.8]])
In [51]:
#WEB SCRAPING
tabele = pd.read_html("https://en.wikipedia.org/wiki/Lodz")
len(tabele)
Out[51]:
8
In [229]:
klimat = tabele[1]
klimat.iloc[np.r_[0:3,8],:2]
Out[229]:
Climate data for Łódź, elevation: 68 m (223 ft), 1991–2020 normals, extremes 1951–present
Month Jan
0 Record high °C (°F) 12.8(55.0)
1 Average high °C (°F) 1.2(34.2)
2 Daily mean °C (°F) −1.5(29.3)
8 Average snowy days (≥ 0 cm) 15.3
In [230]:
tabele[2]
Out[230]:
Year Pop. ±%
0 1950 620273 —
1 1960 709698 +14.4%
2 1970 762699 +7.5%
3 1980 835658 +9.6%
4 1990 848258 +1.5%
5 2000 798418 −5.9%
6 2010 737098 −7.7%
7 2020 672185 −8.8%
8 source[104] source[104] source[104]
In [231]:
import beautifulsoup4
import pandas as pd
import numpy as np
---------------------------------------------------------------------------
ModuleNotFoundError                       Traceback (most recent call last)
~\AppData\Local\Temp/ipykernel_12268/2654481088.py in <module>
----> 1 import beautifulsoup4
      2 import pandas as pd
      3 import numpy as np

ModuleNotFoundError: No module named 'beautifulsoup4'
In [232]:
tabele[1]
Out[232]:
Climate data for Łódź, elevation: 68 m (223 ft), 1991–2020 normals, extremes 1951–present
Month Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec Year
0 Record high °C (°F) 12.8(55.0) 17.5(63.5) 23.8(74.8) 29.9(85.8) 32.7(90.9) 36.3(97.3) 37.3(99.1) 37.6(99.7) 34.7(94.5) 25.9(78.6) 19.2(66.6) 14.9(58.8) 37.6(99.7)
1 Average high °C (°F) 1.2(34.2) 2.9(37.2) 7.4(45.3) 14.4(57.9) 19.4(66.9) 22.7(72.9) 24.9(76.8) 24.6(76.3) 19.1(66.4) 13.0(55.4) 6.8(44.2) 2.4(36.3) 13.2(55.8)
2 Daily mean °C (°F) −1.5(29.3) −0.3(31.5) 3.1(37.6) 9.0(48.2) 13.8(56.8) 17.1(62.8) 19.2(66.6) 18.7(65.7) 13.7(56.7) 8.6(47.5) 3.9(39.0) 0.0(32.0) 8.8(47.8)
3 Average low °C (°F) −4.0(24.8) −3.3(26.1) −0.7(30.7) 3.6(38.5) 8.2(46.8) 11.6(52.9) 13.6(56.5) 13.3(55.9) 9.0(48.2) 5.0(41.0) 1.3(34.3) −2.4(27.7) 4.6(40.3)
4 Record low °C (°F) −31.1(−24.0) −27.4(−17.3) −21.9(−7.4) −8.0(17.6) −3.6(25.5) −0.3(31.5) 4.2(39.6) 3.3(37.9) −1.9(28.6) −9.9(14.2) −16.8(1.8) −24.6(−12.3) −31.1(−24.0)
5 Average precipitation mm (inches) 35.3(1.39) 34.1(1.34) 37.6(1.48) 35.2(1.39) 60.9(2.40) 62.3(2.45) 81.1(3.19) 54.1(2.13) 53.4(2.10) 44.0(1.73) 39.4(1.55) 40.7(1.60) 578.1(22.76)
6 Average extreme snow depth cm (inches) 6.8(2.7) 6.6(2.6) 4.7(1.9) 1.6(0.6) 0.0(0.0) 0.0(0.0) 0.0(0.0) 0.0(0.0) 0.0(0.0) 0.2(0.1) 2.2(0.9) 3.6(1.4) 6.8(2.7)
7 Average precipitation days (≥ 0.1 mm) 17.27 14.60 14.17 11.17 13.33 13.43 13.77 11.80 11.73 13.03 14.30 16.37 164.97
8 Average snowy days (≥ 0 cm) 15.3 13.3 6.2 0.9 0.0 0.0 0.0 0.0 0.0 0.2 3.4 8.6 47.9
9 Average relative humidity (%) 87.6 84.2 77.5 68.6 70.0 70.5 71.3 71.4 78.9 84.1 89.2 89.4 78.6
10 Mean monthly sunshine hours 48.2 65.8 122.7 187.0 241.8 244.6 250.9 243.4 160.1 111.1 51.2 40.4 1767.3
11 Average ultraviolet index 1 1 2 4 6 6 6 6 4 2 1 0 3
12 Source 1: Institute of Meteorology and Water M... Source 1: Institute of Meteorology and Water M... Source 1: Institute of Meteorology and Water M... Source 1: Institute of Meteorology and Water M... Source 1: Institute of Meteorology and Water M... Source 1: Institute of Meteorology and Water M... Source 1: Institute of Meteorology and Water M... Source 1: Institute of Meteorology and Water M... Source 1: Institute of Meteorology and Water M... Source 1: Institute of Meteorology and Water M... Source 1: Institute of Meteorology and Water M... Source 1: Institute of Meteorology and Water M... Source 1: Institute of Meteorology and Water M... Source 1: Institute of Meteorology and Water M...
13 Source 2: Meteomodel.pl (records, relative hum... Source 2: Meteomodel.pl (records, relative hum... Source 2: Meteomodel.pl (records, relative hum... Source 2: Meteomodel.pl (records, relative hum... Source 2: Meteomodel.pl (records, relative hum... Source 2: Meteomodel.pl (records, relative hum... Source 2: Meteomodel.pl (records, relative hum... Source 2: Meteomodel.pl (records, relative hum... Source 2: Meteomodel.pl (records, relative hum... Source 2: Meteomodel.pl (records, relative hum... Source 2: Meteomodel.pl (records, relative hum... Source 2: Meteomodel.pl (records, relative hum... Source 2: Meteomodel.pl (records, relative hum... Source 2: Meteomodel.pl (records, relative hum...
In [233]:
r = requests.get("https://en.wikipedia.org/wiki/Monty_Python's_Flying_Circus")
r.status_code
Out[233]:
200
In [234]:
print(r.headers["content-type"])
text/html; charset=UTF-8
In [235]:
textwiki = r.text
textwiki
Out[235]:
'<!DOCTYPE html>\n<html class="client-nojs" lang="en" dir="ltr">\n<head>\n<meta charset="UTF-8"/>\n<title>Monty Python\'s Flying Circus - Wikipedia</title>\n<script>document.documentElement.className="client-js";RLCONF={"wgBreakFrames":false,"wgSeparatorTransformTable":["",""],"wgDigitTransformTable":["",""],"wgDefaultDateFormat":"dmy","wgMonthNames":["","January","February","March","April","May","June","July","August","September","October","November","December"],"wgRequestId":"74293ece-e9f7-4d83-8d73-9070ebcad8cc","wgCSPNonce":false,"wgCanonicalNamespace":"","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":0,"wgPageName":"Monty_Python\'s_Flying_Circus","wgTitle":"Monty Python\'s Flying Circus","wgCurRevisionId":1099482818,"wgRevisionId":1099482818,"wgArticleId":23372115,"wgIsArticle":true,"wgIsRedirect":false,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":["All articles with dead YouTube links","Articles with dead YouTube links from February 2022","CS1 maint: uses authors parameter","Harv and Sfn no-target errors","CS1 Danish-language sources (da)","Articles with short description","Short description matches Wikidata"\n,"Use British English from June 2016","Use dmy dates from June 2016","Pages using infobox television with unnecessary name parameter","All articles with unsourced statements","Articles with unsourced statements from January 2019","Articles with unsourced statements from March 2012","Official website different in Wikidata and Wikipedia","IMDb ID same as Wikidata","Articles with VIAF identifiers","Articles with BIBSYS identifiers","Articles with BNE identifiers","Articles with BNF identifiers","Articles with GND identifiers","Articles with J9U identifiers","Articles with LCCN identifiers","Articles with SUDOC identifiers","Articles with WorldCat-VIAF identifiers","Articles with multiple identifiers","1969 British television series debuts","1974 British television series endings","1960s British television sketch shows","1970s British television sketch shows","BBC television sketch shows","BBC black comedy television shows","British satirical television series",\n"English-language television shows","Metafictional television series","Television series about television","Monty Python","Postmodern works","Surreal comedy television series","Self-reflexive television","Television shows adapted into films","Television shows adapted into video games","British television series with live action and animation"],"wgPageContentLanguage":"en","wgPageContentModel":"wikitext","wgRelevantPageName":"Monty_Python\'s_Flying_Circus","wgRelevantArticleId":23372115,"wgIsProbablyEditable":true,"wgRelevantPageIsProbablyEditable":true,"wgRestrictionEdit":[],"wgRestrictionMove":[],"wgFlaggedRevsParams":{"tags":{"status":{"levels":1}}},"wgVisualEditor":{"pageLanguageCode":"en","pageLanguageDir":"ltr","pageVariantFallbacks":"en"},"wgMFDisplayWikibaseDescriptions":{"search":true,"nearby":true,"watchlist":true,"tagline":false},"wgWMESchemaEditAttemptStepOversample":false,"wgWMEPageLength":70000,"wgNoticeProject":"wikipedia","wgMediaViewerOnClick":true,\n"wgMediaViewerEnabledByDefault":true,"wgPopupsFlags":10,"wgULSCurrentAutonym":"English","wgEditSubmitButtonLabelPublish":true,"wgCentralAuthMobileDomain":false,"wgULSPosition":"interlanguage","wgULSisCompactLinksEnabled":true,"wgWikibaseItemId":"Q16401","GEHomepageSuggestedEditsEnableTopics":true,"wgGETopicsMatchModeEnabled":false,"wgGEStructuredTaskRejectionReasonTextInputEnabled":false};RLSTATE={"ext.globalCssJs.user.styles":"ready","site.styles":"ready","user.styles":"ready","ext.globalCssJs.user":"ready","user":"ready","user.options":"loading","ext.cite.styles":"ready","skins.vector.styles.legacy":"ready","jquery.makeCollapsible.styles":"ready","ext.visualEditor.desktopArticleTarget.noscript":"ready","ext.wikimediaBadges":"ready","ext.uls.interlanguage":"ready","wikibase.client.init":"ready"};RLPAGEMODULES=["ext.cite.ux-enhancements","ext.scribunto.logs","site","mediawiki.page.ready","jquery.makeCollapsible","mediawiki.toc","skins.vector.legacy.js","mmv.head",\n"mmv.bootstrap.autostart","ext.visualEditor.desktopArticleTarget.init","ext.visualEditor.targetLoader","ext.eventLogging","ext.wikimediaEvents","ext.navigationTiming","ext.cx.eventlogging.campaigns","ext.centralNotice.geoIP","ext.centralNotice.startUp","ext.gadget.ReferenceTooltips","ext.gadget.charinsert","ext.gadget.extra-toolbar-buttons","ext.gadget.refToolbar","ext.gadget.switcher","ext.centralauth.centralautologin","ext.popups","ext.uls.compactlinks","ext.uls.interface","ext.growthExperiments.SuggestedEditSession"];</script>\n<script>(RLQ=window.RLQ||[]).push(function(){mw.loader.implement("user.options@12s5i",function($,jQuery,require,module){mw.user.tokens.set({"patrolToken":"+\\\\","watchToken":"+\\\\","csrfToken":"+\\\\"});});});</script>\n<link rel="stylesheet" href="/w/load.php?lang=en&amp;modules=ext.cite.styles%7Cext.uls.interlanguage%7Cext.visualEditor.desktopArticleTarget.noscript%7Cext.wikimediaBadges%7Cjquery.makeCollapsible.styles%7Cskins.vector.styles.legacy%7Cwikibase.client.init&amp;only=styles&amp;skin=vector"/>\n<script async="" src="/w/load.php?lang=en&amp;modules=startup&amp;only=scripts&amp;raw=1&amp;skin=vector"></script>\n<meta name="ResourceLoaderDynamicStyles" content=""/>\n<link rel="stylesheet" href="/w/load.php?lang=en&amp;modules=site.styles&amp;only=styles&amp;skin=vector"/>\n<meta name="generator" content="MediaWiki 1.39.0-wmf.21"/>\n<meta name="referrer" content="origin"/>\n<meta name="referrer" content="origin-when-crossorigin"/>\n<meta name="referrer" content="origin-when-cross-origin"/>\n<meta name="format-detection" content="telephone=no"/>\n<meta property="og:image" content="https://upload.wikimedia.org/wikipedia/en/c/cd/Monty_Python%27s_Flying_Circus_Title_Card.png"/>\n<meta property="og:image:width" content="1200"/>\n<meta property="og:image:height" content="932"/>\n<meta property="og:image" content="https://upload.wikimedia.org/wikipedia/en/c/cd/Monty_Python%27s_Flying_Circus_Title_Card.png"/>\n<meta property="og:image:width" content="800"/>\n<meta property="og:image:height" content="621"/>\n<meta property="og:image:width" content="640"/>\n<meta property="og:image:height" content="497"/>\n<meta name="viewport" content="width=1000"/>\n<meta property="og:title" content="Monty Python&#039;s Flying Circus - Wikipedia"/>\n<meta property="og:type" content="website"/>\n<link rel="preconnect" href="//upload.wikimedia.org"/>\n<link rel="alternate" media="only screen and (max-width: 720px)" href="//en.m.wikipedia.org/wiki/Monty_Python%27s_Flying_Circus"/>\n<link rel="alternate" type="application/x-wiki" title="Edit this page" href="/w/index.php?title=Monty_Python%27s_Flying_Circus&amp;action=edit"/>\n<link rel="apple-touch-icon" href="/static/apple-touch/wikipedia.png"/>\n<link rel="shortcut icon" href="/static/favicon/wikipedia.ico"/>\n<link rel="search" type="application/opensearchdescription+xml" href="/w/opensearch_desc.php" title="Wikipedia (en)"/>\n<link rel="EditURI" type="application/rsd+xml" href="//en.wikipedia.org/w/api.php?action=rsd"/>\n<link rel="license" href="https://creativecommons.org/licenses/by-sa/3.0/"/>\n<link rel="canonical" href="https://en.wikipedia.org/wiki/Monty_Python%27s_Flying_Circus"/>\n<link rel="dns-prefetch" href="//meta.wikimedia.org" />\n<link rel="dns-prefetch" href="//login.wikimedia.org"/>\n</head>\n<body class="mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject mw-editable page-Monty_Python_s_Flying_Circus rootpage-Monty_Python_s_Flying_Circus skin-vector action-view skin-vector-legacy"><div id="mw-page-base" class="noprint"></div>\n<div id="mw-head-base" class="noprint"></div>\n<div id="content" class="mw-body" role="main">\n\t<a id="top"></a>\n\t<div id="siteNotice"><!-- CentralNotice --></div>\n\t<div class="mw-indicators">\n\t</div>\n\t<h1 id="firstHeading" class="firstHeading mw-first-heading"><i>Monty Python\'s Flying Circus</i></h1>\n\t<div id="bodyContent" class="vector-body">\n\t\t<div id="siteSub" class="noprint">From Wikipedia, the free encyclopedia</div>\n\t\t<div id="contentSub"></div>\n\t\t<div id="contentSub2"></div>\n\t\t\n\t\t<div id="jump-to-nav"></div>\n\t\t<a class="mw-jump-link" href="#mw-head">Jump to navigation</a>\n\t\t<a class="mw-jump-link" href="#searchInput">Jump to search</a>\n\t\t<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="en" dir="ltr"><div class="mw-parser-output"><div class="shortdescription nomobile noexcerpt noprint searchaux" style="display:none">British sketch comedy television series</div>\n<style data-mw-deduplicate="TemplateStyles:r1033289096">.mw-parser-output .hatnote{font-style:italic}.mw-parser-output div.hatnote{padding-left:1.6em;margin-bottom:0.5em}.mw-parser-output .hatnote i{font-style:normal}.mw-parser-output .hatnote+link+.hatnote{margin-top:-0.5em}</style><div role="note" class="hatnote navigation-not-searchable">For other uses, see <a href="/wiki/Monty_Python%27s_Flying_Circus_(disambiguation)" class="mw-disambig" title="Monty Python&#39;s Flying Circus (disambiguation)">Monty Python\'s Flying Circus (disambiguation)</a>.</div>\n<p class="mw-empty-elt">\n\n</p>\n<style data-mw-deduplicate="TemplateStyles:r1066479718">.mw-parser-output .infobox-subbox{padding:0;border:none;margin:-3px;width:auto;min-width:100%;font-size:100%;clear:none;float:none;background-color:transparent}.mw-parser-output .infobox-3cols-child{margin:auto}.mw-parser-output .infobox .navbar{font-size:100%}body.skin-minerva .mw-parser-output .infobox-header,body.skin-minerva .mw-parser-output .infobox-subheader,body.skin-minerva .mw-parser-output .infobox-above,body.skin-minerva .mw-parser-output .infobox-title,body.skin-minerva .mw-parser-output .infobox-image,body.skin-minerva .mw-parser-output .infobox-full-data,body.skin-minerva .mw-parser-output .infobox-below{text-align:center}</style><table class="infobox vevent"><tbody><tr><th colspan="2" class="infobox-above summary" style="background: #CCCCFF; padding: 0.25em 1em; font-size: 125%;"><i>Monty Python\'s Flying Circus</i></th></tr><tr><td colspan="2" class="infobox-image"><a href="/wiki/File:Monty_Python%27s_Flying_Circus_Title_Card.png" class="image"><img alt="Monty Python&#39;s Flying Circus Title Card.png" src="//upload.wikimedia.org/wikipedia/en/thumb/c/cd/Monty_Python%27s_Flying_Circus_Title_Card.png/250px-Monty_Python%27s_Flying_Circus_Title_Card.png" decoding="async" width="250" height="194" srcset="//upload.wikimedia.org/wikipedia/en/c/cd/Monty_Python%27s_Flying_Circus_Title_Card.png 1.5x" data-file-width="358" data-file-height="278" /></a></td></tr><tr><th scope="row" class="infobox-label">Genre</th><td class="infobox-data category"><a href="/wiki/Sketch_comedy" title="Sketch comedy">Sketch comedy</a><br /><a href="/wiki/Surreal_humour" title="Surreal humour">Surreal comedy</a><br /><a href="/wiki/Satire" title="Satire">Satire</a><br /><a href="/wiki/Black_comedy" title="Black comedy">Black comedy</a></td></tr><tr><th scope="row" class="infobox-label">Created by</th><td class="infobox-data"><a href="/wiki/Graham_Chapman" title="Graham Chapman">Graham Chapman</a><br /><a href="/wiki/John_Cleese" title="John Cleese">John Cleese</a><br /><a href="/wiki/Eric_Idle" title="Eric Idle">Eric Idle</a><br /><a href="/wiki/Terry_Jones" title="Terry Jones">Terry Jones</a><br /><a href="/wiki/Michael_Palin" title="Michael Palin">Michael Palin</a><br /><a href="/wiki/Terry_Gilliam" title="Terry Gilliam">Terry Gilliam</a></td></tr><tr><th scope="row" class="infobox-label">Written by</th><td class="infobox-data"><div class="plainlist">\n<ul><li><a href="/wiki/Monty_Python" title="Monty Python">Monty Python</a></li>\n<li><a href="/wiki/Neil_Innes" title="Neil Innes">Neil Innes</a></li>\n<li><a href="/wiki/Douglas_Adams" title="Douglas Adams">Douglas Adams</a></li></ul>\n</div></td></tr><tr><th scope="row" class="infobox-label">Directed by</th><td class="infobox-data attendee"><div class="plainlist">\n<ul><li><a href="/wiki/Ian_MacNaughton" title="Ian MacNaughton">Ian MacNaughton</a></li>\n<li><a href="/wiki/John_Howard_Davies" title="John Howard Davies">John Howard Davies</a></li></ul>\n</div></td></tr><tr><th scope="row" class="infobox-label">Starring</th><td class="infobox-data attendee">Graham Chapman<br />John Cleese (series 1–3)<br />Eric Idle<br />Terry Jones<br />Michael Palin<br />Terry Gilliam<br /><a href="/wiki/Carol_Cleveland" title="Carol Cleveland">Carol Cleveland</a></td></tr><tr><th scope="row" class="infobox-label">Opening theme</th><td class="infobox-data">"<a href="/wiki/The_Liberty_Bell_(march)" title="The Liberty Bell (march)">The Liberty Bell</a>" by <a href="/wiki/John_Philip_Sousa" title="John Philip Sousa">John Philip Sousa</a></td></tr><tr><th scope="row" class="infobox-label">Composers</th><td class="infobox-data">Neil Innes<br /><a href="/wiki/Fred_Tomlinson_(singer)" title="Fred Tomlinson (singer)">Fred Tomlinson Singers</a></td></tr><tr><th scope="row" class="infobox-label">Country of origin</th><td class="infobox-data">United Kingdom</td></tr><tr><th scope="row" class="infobox-label"><abbr title="Number">No.</abbr> of series</th><td class="infobox-data">4</td></tr><tr><th scope="row" class="infobox-label"><abbr title="Number">No.</abbr> of episodes</th><td class="infobox-data">45 <span class="nowrap">(<a href="/wiki/List_of_Monty_Python%27s_Flying_Circus_episodes" title="List of Monty Python&#39;s Flying Circus episodes">list of episodes</a>)</span></td></tr><tr><th colspan="2" class="infobox-header summary" style="background: #CCCCFF; padding: 0.25em 1em;">Production</th></tr><tr><th scope="row" class="infobox-label">Producers</th><td class="infobox-data">John Howard Davies (series 1)<br /><a href="/wiki/Ian_MacNaughton" title="Ian MacNaughton">Ian MacNaughton</a></td></tr><tr><th scope="row" class="infobox-label">Animator</th><td class="infobox-data">Terry Gilliam</td></tr><tr><th scope="row" class="infobox-label">Running time</th><td class="infobox-data">approx. 25–30 minutes</td></tr><tr><th scope="row" class="infobox-label">Production company</th><td class="infobox-data"><a href="/wiki/Python_(Monty)_Pictures" title="Python (Monty) Pictures">Python (Monty) Pictures</a></td></tr><tr><th colspan="2" class="infobox-header summary" style="background: #CCCCFF; padding: 0.25em 1em;">Release</th></tr><tr><th scope="row" class="infobox-label">Original network</th><td class="infobox-data"><a href="/wiki/BBC_One" title="BBC One">BBC1</a> (1969–1973) <br /><a href="/wiki/BBC_Two" title="BBC Two">BBC2</a> (1974)</td></tr><tr><th scope="row" class="infobox-label">Original release</th><td class="infobox-data">5 October 1969<span style="display:none">&#160;(<span class="bday dtstart published updated">1969-10-05</span>)</span>&#160;–<br />5 December 1974<span style="display:none">&#160;(<span class="dtend">1974-12-05</span>)</span></td></tr><tr><th colspan="2" class="infobox-header summary" style="background: #CCCCFF; padding: 0.25em 1em;">Chronology</th></tr><tr><th scope="row" class="infobox-label">Followed by</th><td class="infobox-data"><i><a href="/wiki/And_Now_for_Something_Completely_Different" title="And Now for Something Completely Different">And Now for Something Completely Different</a></i></td></tr></tbody></table>\n<p><i><b>Monty Python\'s Flying Circus</b></i> (also known as simply <i><b>Monty Python</b></i>; sometimes abbreviated <i><b>MPFC</b></i>) is a British <a href="/wiki/Surreal_humour" title="Surreal humour">surreal</a> <a href="/wiki/Sketch_comedy" title="Sketch comedy">sketch comedy</a> series created by and starring <a href="/wiki/Graham_Chapman" title="Graham Chapman">Graham Chapman</a>, <a href="/wiki/John_Cleese" title="John Cleese">John Cleese</a>, <a href="/wiki/Eric_Idle" title="Eric Idle">Eric Idle</a>, <a href="/wiki/Terry_Jones" title="Terry Jones">Terry Jones</a>, <a href="/wiki/Michael_Palin" title="Michael Palin">Michael Palin</a> and <a href="/wiki/Terry_Gilliam" title="Terry Gilliam">Terry Gilliam</a>, who became known as "<a href="/wiki/Monty_Python" title="Monty Python">Monty Python</a>", or the "Pythons". The first episode was recorded at the <a href="/wiki/BBC" title="BBC">BBC</a> on 7 September 1969 and premiered on 5 October on <a href="/wiki/BBC1" class="mw-redirect" title="BBC1">BBC1</a>, with 45 episodes airing over four series from 1969 to 1974, plus two episodes for German TV.\n</p><p>The series stands out for its use of <a href="/wiki/Surreal_humour" title="Surreal humour">absurd situations</a>, mixed with risqué and innuendo-laden humour, <a href="/wiki/Visual_gag" title="Visual gag">sight gags</a> and observational sketches without <a href="/wiki/Punch_line" title="Punch line">punchlines</a>. Live action segments were broken up with animations by Gilliam, often merging with the live action to form <a href="/wiki/Segue#In_film_or_broadcast_news_production" title="Segue">segues</a>. The overall format used for the series followed and elaborated upon the style used by <a href="/wiki/Spike_Milligan" title="Spike Milligan">Spike Milligan</a> in his groundbreaking series <i><a href="/wiki/Q..._(TV_series)" title="Q... (TV series)">Q5</a></i>, rather than the traditional sketch show format. The Pythons play the majority of the series characters themselves, along with supporting cast members including <a href="/wiki/Carol_Cleveland" title="Carol Cleveland">Carol Cleveland</a> (referred to by the team as the unofficial "Seventh Python"), <a href="/wiki/Connie_Booth" title="Connie Booth">Connie Booth</a> (Cleese\'s first wife), series producer <a href="/wiki/Ian_MacNaughton" title="Ian MacNaughton">Ian MacNaughton</a>, <a href="/wiki/Ian_Davidson_(scriptwriter)" title="Ian Davidson (scriptwriter)">Ian Davidson</a>, musician <a href="/wiki/Neil_Innes" title="Neil Innes">Neil Innes</a>, and <a href="/wiki/Fred_Tomlinson_(singer)" title="Fred Tomlinson (singer)">Fred Tomlinson</a> and the Fred Tomlinson Singers for musical numbers.<sup id="cite_ref-telegraph_1-0" class="reference"><a href="#cite_note-telegraph-1">&#91;1&#93;</a></sup><sup id="cite_ref-nytimes_2-0" class="reference"><a href="#cite_note-nytimes-2">&#91;2&#93;</a></sup>\n</p><p>The programme came about as the six Pythons, having met each other through university and in various radio and television programmes in the 1960s, sought to make a new sketch comedy show unlike anything else on British television at the time. Much of the humour in the series\' various episodes and sketches targets the idiosyncrasies of <a href="/wiki/Culture_of_the_United_Kingdom" title="Culture of the United Kingdom">British life</a>, especially that of professionals, as well as aspects of politics. Their comedy is often pointedly <a href="/wiki/Intellectualism" title="Intellectualism">intellectual</a>, with numerous erudite references to philosophers and literary figures and their works. The team intended their humour to be impossible to categorise, and succeeded (although, by their perspective, failed) so completely that the adjective "<a href="https://en.wiktionary.org/wiki/Pythonesque" class="extiw" title="wiktionary:Pythonesque">Pythonesque</a>" was invented to define it and, later, similar material. However, their humour was not always seen as appropriate for television by the BBC, leading to some censorship during the third series. Cleese left the show following that series, and the remaining Pythons completed a final shortened fourth series before ending the show.\n</p><p>The show became very popular in the United Kingdom, and after initially failing to draw an audience in the United States, gained American popularity after <a href="/wiki/Public_Broadcasting_Service" class="mw-redirect" title="Public Broadcasting Service">Public Broadcasting Service</a> member stations began airing the show in 1974. The success on both sides of the Atlantic led to the Pythons going on live tours and creating three additional films, while the individual Pythons flourished in solo careers. <i>Monty Python\'s Flying Circus</i> has become an influential work on comedy as well as the ongoing popular culture.\n</p>\n<div id="toc" class="toc" role="navigation" aria-labelledby="mw-toc-heading"><input type="checkbox" role="button" id="toctogglecheckbox" class="toctogglecheckbox" style="display:none" /><div class="toctitle" lang="en" dir="ltr"><h2 id="mw-toc-heading">Contents</h2><span class="toctogglespan"><label class="toctogglelabel" for="toctogglecheckbox"></label></span></div>\n<ul>\n<li class="toclevel-1 tocsection-1"><a href="#Premise"><span class="tocnumber">1</span> <span class="toctext">Premise</span></a>\n<ul>\n<li class="toclevel-2 tocsection-2"><a href="#Title"><span class="tocnumber">1.1</span> <span class="toctext">Title</span></a></li>\n<li class="toclevel-2 tocsection-3"><a href="#Recurring_characters"><span class="tocnumber">1.2</span> <span class="toctext">Recurring characters</span></a></li>\n</ul>\n</li>\n<li class="toclevel-1 tocsection-4"><a href="#Series_overview"><span class="tocnumber">2</span> <span class="toctext">Series overview</span></a>\n<ul>\n<li class="toclevel-2 tocsection-5"><a href="#Monty_Python&#39;s_Fliegender_Zirkus"><span class="tocnumber">2.1</span> <span class="toctext"><i>Monty Python\'s Fliegender Zirkus</i></span></a></li>\n</ul>\n</li>\n<li class="toclevel-1 tocsection-6"><a href="#Development"><span class="tocnumber">3</span> <span class="toctext">Development</span></a></li>\n<li class="toclevel-1 tocsection-7"><a href="#Casting"><span class="tocnumber">4</span> <span class="toctext">Casting</span></a>\n<ul>\n<li class="toclevel-2 tocsection-8"><a href="#Chapman"><span class="tocnumber">4.1</span> <span class="toctext">Chapman</span></a></li>\n<li class="toclevel-2 tocsection-9"><a href="#Cleese"><span class="tocnumber">4.2</span> <span class="toctext">Cleese</span></a></li>\n<li class="toclevel-2 tocsection-10"><a href="#Gilliam"><span class="tocnumber">4.3</span> <span class="toctext">Gilliam</span></a></li>\n<li class="toclevel-2 tocsection-11"><a href="#Idle"><span class="tocnumber">4.4</span> <span class="toctext">Idle</span></a></li>\n<li class="toclevel-2 tocsection-12"><a href="#Jones"><span class="tocnumber">4.5</span> <span class="toctext">Jones</span></a></li>\n<li class="toclevel-2 tocsection-13"><a href="#Palin"><span class="tocnumber">4.6</span> <span class="toctext">Palin</span></a></li>\n</ul>\n</li>\n<li class="toclevel-1 tocsection-14"><a href="#Production"><span class="tocnumber">5</span> <span class="toctext">Production</span></a></li>\n<li class="toclevel-1 tocsection-15"><a href="#Broadcast"><span class="tocnumber">6</span> <span class="toctext">Broadcast</span></a>\n<ul>\n<li class="toclevel-2 tocsection-16"><a href="#Original_broadcast"><span class="tocnumber">6.1</span> <span class="toctext">Original broadcast</span></a></li>\n<li class="toclevel-2 tocsection-17"><a href="#Lost_sketches"><span class="tocnumber">6.2</span> <span class="toctext">Lost sketches</span></a></li>\n<li class="toclevel-2 tocsection-18"><a href="#American_television"><span class="tocnumber">6.3</span> <span class="toctext">American television</span></a></li>\n</ul>\n</li>\n<li class="toclevel-1 tocsection-19"><a href="#Subsequent_projects"><span class="tocnumber">7</span> <span class="toctext">Subsequent projects</span></a>\n<ul>\n<li class="toclevel-2 tocsection-20"><a href="#Live_shows_with_original_cast"><span class="tocnumber">7.1</span> <span class="toctext">Live shows with original cast</span></a></li>\n<li class="toclevel-2 tocsection-21"><a href="#French_adaptation"><span class="tocnumber">7.2</span> <span class="toctext">French adaptation</span></a></li>\n</ul>\n</li>\n<li class="toclevel-1 tocsection-22"><a href="#Reception"><span class="tocnumber">8</span> <span class="toctext">Reception</span></a>\n<ul>\n<li class="toclevel-2 tocsection-23"><a href="#Awards_and_honours"><span class="tocnumber">8.1</span> <span class="toctext">Awards and honours</span></a></li>\n<li class="toclevel-2 tocsection-24"><a href="#Legacy"><span class="tocnumber">8.2</span> <span class="toctext">Legacy</span></a></li>\n</ul>\n</li>\n<li class="toclevel-1 tocsection-25"><a href="#See_also"><span class="tocnumber">9</span> <span class="toctext">See also</span></a></li>\n<li class="toclevel-1 tocsection-26"><a href="#References"><span class="tocnumber">10</span> <span class="toctext">References</span></a></li>\n<li class="toclevel-1 tocsection-27"><a href="#External_links"><span class="tocnumber">11</span> <span class="toctext">External links</span></a></li>\n</ul>\n</div>\n\n<h2><span class="mw-headline" id="Premise">Premise</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Monty_Python%27s_Flying_Circus&amp;action=edit&amp;section=1" title="Edit section: Premise">edit</a><span class="mw-editsection-bracket">]</span></span></h2>\n<p><i>Monty Python\'s Flying Circus</i> is a sketch comedy show, though it does not adhere to any regular format. The sketches include live-action skits performed by <a href="/wiki/Graham_Chapman" title="Graham Chapman">Graham Chapman</a>, <a href="/wiki/John_Cleese" title="John Cleese">John Cleese</a>, <a href="/wiki/Eric_Idle" title="Eric Idle">Eric Idle</a>, <a href="/wiki/Terry_Jones" title="Terry Jones">Terry Jones</a>, <a href="/wiki/Michael_Palin" title="Michael Palin">Michael Palin</a>, and <a href="/wiki/Terry_Gilliam" title="Terry Gilliam">Terry Gilliam</a>, along with animations created by Gilliam, frequently used as linking devices or interstitial between skits. The show\'s introductory theme, which varied with each series, was also based on Gilliam\'s animations, its <a href="/wiki/Theme_music" title="Theme music">theme music</a> set to "<a href="/wiki/The_Liberty_Bell_(march)" title="The Liberty Bell (march)">The Liberty Bell</a>" march by <a href="/wiki/John_Philip_Sousa" title="John Philip Sousa">John Philip Sousa</a>, and ending with a shot of the show\'s title before being crushed by a giant foot. Gilliam selected the rendition of the march performed by the <a href="/wiki/Band_of_the_Grenadier_Guards" title="Band of the Grenadier Guards">Band of the Grenadier Guards</a>, published in 1893,<sup id="cite_ref-3" class="reference"><a href="#cite_note-3">&#91;3&#93;</a></sup> as under the <a href="/wiki/Berne_Convention" title="Berne Convention">Berne Convention</a> and <a href="/wiki/Copyright_law_of_the_United_States" title="Copyright law of the United States">United States copyright law</a>, the work had fallen into the <a href="/wiki/Public_domain" title="Public domain">public domain</a>, allowing them to avoid <a href="/wiki/Royalty_payment" title="Royalty payment">royalty payments</a>.<sup id="cite_ref-4" class="reference"><a href="#cite_note-4">&#91;4&#93;</a></sup>\n</p>\n<h3><span class="mw-headline" id="Title">Title</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Monty_Python%27s_Flying_Circus&amp;action=edit&amp;section=2" title="Edit section: Title">edit</a><span class="mw-editsection-bracket">]</span></span></h3>\n<p>The title <i>Monty Python\'s Flying Circus</i> was partly the result of the group\'s reputation at the BBC. <a href="/wiki/Michael_Mills_(British_producer)" title="Michael Mills (British producer)">Michael Mills</a>, the BBC\'s Head of Comedy, wanted their name to include the word "circus" because the BBC referred to the six members wandering around the building as a circus, in particular, "Baron Von Took\'s Circus", after <a href="/wiki/Barry_Took" title="Barry Took">Barry Took</a>, who had brought them to the BBC.<sup id="cite_ref-5" class="reference"><a href="#cite_note-5">&#91;5&#93;</a></sup> The group added "flying" to make it sound less like an actual circus and more like something <a href="/wiki/Manfred_von_Richthofen#Flying_Circus" title="Manfred von Richthofen">from World War&#160;I</a>. The group was coming up with their name at a time when the 1966 <a href="/wiki/Royal_Guardsmen" class="mw-redirect" title="Royal Guardsmen">Royal Guardsmen</a> song <i><a href="/wiki/Snoopy_vs._the_Red_Baron_(song)" title="Snoopy vs. the Red Baron (song)">Snoopy vs. the Red Baron</a></i> had been at a peak. <a href="/wiki/Manfred_von_Richthofen" title="Manfred von Richthofen"><i>Freiherr</i> Manfred von Richthofen</a>, the World War&#160;I German flying ace known as The Red Baron, commanded the <a href="/wiki/Jagdgeschwader_1_(World_War_I)" class="mw-redirect" title="Jagdgeschwader 1 (World War I)">Jagdgeschwader&#160;1 squadron of planes</a> known as "The Flying Circus".\n</p><p>The words "Monty Python" were added because they claimed it sounded like a really bad theatrical agent, the sort of person who would have brought them together, with <a href="/wiki/John_Cleese" title="John Cleese">John Cleese</a> suggesting "<a href="/wiki/Pythonidae" title="Pythonidae">Python</a>" as something slimy and slithery, and <a href="/wiki/Eric_Idle" title="Eric Idle">Eric Idle</a> suggesting "Monty".<sup id="cite_ref-Palin_2008_650_6-0" class="reference"><a href="#cite_note-Palin_2008_650-6">&#91;6&#93;</a></sup> They later explained that the name Monty "...made us laugh because Monty to us means <a href="/wiki/Lord_Montgomery" class="mw-redirect" title="Lord Montgomery">Lord Montgomery</a>, our great general of the Second World War".<sup id="cite_ref-7" class="reference"><a href="#cite_note-7">&#91;7&#93;</a></sup>\n</p><p>The BBC had rejected some other names put forward by the group, including <i>Whither Canada?</i>, <i>The Nose Show</i>, <i>Ow! It\'s Colin Plint!</i>, <i>A Horse, a Spoon and a Basin</i>, <i>The Toad Elevating Moment</i> and <i>Owl Stretching Time</i>.<sup id="cite_ref-Palin_2008_650_6-1" class="reference"><a href="#cite_note-Palin_2008_650-6">&#91;6&#93;</a></sup> Several of these titles were later used for individual episodes.\n</p>\n<h3><span class="mw-headline" id="Recurring_characters">Recurring characters</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Monty_Python%27s_Flying_Circus&amp;action=edit&amp;section=3" title="Edit section: Recurring characters">edit</a><span class="mw-editsection-bracket">]</span></span></h3>\n<link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1033289096"/><div role="note" class="hatnote navigation-not-searchable">See also: <a href="/wiki/List_of_recurring_Monty_Python%27s_Flying_Circus_characters" title="List of recurring Monty Python&#39;s Flying Circus characters">List of recurring Monty Python\'s Flying Circus characters</a></div>\n<p>Compared with many other <a href="/wiki/Sketch_comedy" title="Sketch comedy">sketch comedy</a> shows, <i>Flying Circus</i> had fewer recurring characters, many of whom were involved only in titles and linking sequences. Continuity for many of these recurring characters was frequently non-existent from sketch to sketch, with sometimes even the most basic information (such as a character\'s name) being changed from one appearance to the next.\n</p><p>The most frequently returning characters on the show include:\n</p>\n<ul><li><b>The "It\'s" Man</b> (Palin), a <a href="/wiki/Robinson_Crusoe" title="Robinson Crusoe">Robinson Crusoe</a>-type castaway with torn clothes and a long, unkempt beard who would appear at the beginning of the programme. Often he is seen performing a long or dangerous task, such as falling off a tall, jagged cliff or running through a mine field a long distance towards the camera before introducing the show by just saying, "It\'s..." before being abruptly cut off by the opening titles and Terry Gilliam\'s animation sprouting the words \'Monty Python’s Flying Circus\'. <i>It\'s</i> was an early candidate for the title of the series.</li>\n<li><b>A BBC <a href="/wiki/Continuity_announcer" class="mw-redirect" title="Continuity announcer">continuity announcer</a> in a <a href="/wiki/Dinner_jacket" class="mw-redirect" title="Dinner jacket">dinner jacket</a></b> (Cleese), seated at a desk, often in highly incongruous locations, such as a forest or a beach. His line, "<a href="/wiki/And_Now_for_Something_Completely_Different" title="And Now for Something Completely Different">And now for something completely different</a>", was used variously as a lead-in to the opening titles and a simple way to link sketches. Though Cleese is best known for it, Idle first introduced the phrase in Episode 2, where he introduced a man with three buttocks. It eventually became the show’s <a href="/wiki/Catchphrase" title="Catchphrase">catchphrase</a> and served as the title for the troupe’s first movie. In Series 3 the line was shortened to simply: "And now..." and was often combined with the "It\'s" man in introducing the episodes.</li></ul>\n<div class="thumb tright"><div class="thumbinner" style="width:222px;"><a href="/wiki/File:Gumbys-present-architects-sketch.jpg" class="image"><img alt="" src="//upload.wikimedia.org/wikipedia/en/thumb/6/6a/Gumbys-present-architects-sketch.jpg/220px-Gumbys-present-architects-sketch.jpg" decoding="async" width="220" height="166" class="thumbimage" srcset="//upload.wikimedia.org/wikipedia/en/6/6a/Gumbys-present-architects-sketch.jpg 1.5x" data-file-width="240" data-file-height="181" /></a>  <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Gumbys-present-architects-sketch.jpg" class="internal" title="Enlarge"></a></div>Gumbys on parade</div></div></div>\n<ul><li><b>The <a href="/wiki/Gumbys" class="mw-redirect" title="Gumbys">Gumbys</a></b>, a dim-witted group of identically attired people all wearing <a href="/wiki/Gumboots" class="mw-redirect" title="Gumboots">gumboots</a> (from which they take their name), high-water trousers, <a href="/wiki/Braces_(clothing)" class="mw-redirect" title="Braces (clothing)">braces</a>, <a href="/wiki/Fair_Isle_(technique)" title="Fair Isle (technique)">Fair Isle</a> <a href="/wiki/Tank_top_(sweater)" class="mw-redirect" title="Tank top (sweater)">tanktops</a>, white shirts with rolled up sleeves, round wire-rimmed glasses, <a href="/wiki/Toothbrush_mustache" class="mw-redirect" title="Toothbrush mustache">toothbrush moustaches</a> and knotted handkerchiefs worn on their heads (a stereotype of the English <a href="/wiki/Working_class_culture" class="mw-redirect" title="Working class culture">working-class</a> holidaymaker). Gumbys always stand in a hunched, square posture, holding their arms stiffly at their sides with their balled hands curled inwards. They speak slowly in loud, throaty voices punctuated by frequent grunts and groans, display a poor understanding of everything they encounter, and have a fondness for pointless violence. All of them are surnamed Gumby: D.P. Gumby, R.S. Gumby, etc. Even though all Pythons played Gumbys in the show\'s run, the character is most closely associated with Michael Palin.</li>\n<li><b>The Knight with a Raw Chicken</b> (Gilliam), who would hit characters over the head with the chicken when they said something particularly silly. The knight was a regular during the first series and made another appearance in the third.</li>\n<li><b>A nude <a href="/wiki/Organist" title="Organist">organist</a></b> (played in his first two appearances by Gilliam, later by Jones) who provided a brief fanfare to punctuate certain sketches, most notably on a sketch poking fun at <i><a href="/wiki/Sale_of_the_Century_(UK_game_show)" class="mw-redirect" title="Sale of the Century (UK game show)">Sale of the Century</a></i> or as yet another way to introduce the opening titles. This character was addressed as "<a href="/wiki/Onan" title="Onan">Onan</a>" by Palin\'s host character in the ersatz game show sketch "Blackmail".</li>\n<li><b>The "Pepper Pots"</b> are screeching middle-aged, <a href="/wiki/Lower-middle_class" class="mw-redirect" title="Lower-middle class">lower-middle class</a> housewives, played by the Pythons in frocks and frumpy hats, and engage in surreal and inconsequential conversation. "The Pepper Pots" was the in-house name that the Pythons used to identify these characters, who were never identified as such on-screen. On the rare occasion these women were named, it was often for comic effect, featuring such names as Mrs. Scum, Mrs. Non-Gorilla, Mrs. Thing, Mrs. Entity, or the duo Mrs. Premise and Mrs. Conclusion. "Pepper pot" refers to what the Pythons believed was the typical body shape of middle-class, British housewives, as explained by John Cleese in <i><a href="/wiki/How_to_Irritate_People" title="How to Irritate People">How to Irritate People</a></i>.<sup id="cite_ref-FOOTNOTELarsen200813_8-0" class="reference"><a href="#cite_note-FOOTNOTELarsen200813-8">&#91;8&#93;</a></sup> <a href="/wiki/Terry_Jones" title="Terry Jones">Terry Jones</a> is perhaps most closely associated with the Pepper Pots, but all the Pythons were frequent in performing the drag characters.</li>\n<li>Brief black-and-white <a href="/wiki/Stock_footage" title="Stock footage">stock footage</a>, lasting only two or three seconds, of <b>middle-aged women sitting in an audience and applauding</b>. The film was taken from a <a href="/wiki/Women%27s_Institutes_(British)" class="mw-redirect" title="Women&#39;s Institutes (British)">Women’s Institute</a> meeting and was sometimes presented with a colour tint.<sup id="cite_ref-FOOTNOTELarsen2008292_9-0" class="reference"><a href="#cite_note-FOOTNOTELarsen2008292-9">&#91;9&#93;</a></sup></li></ul>\n<p>Other characters appearing multiple times include:\n</p>\n<ul><li>"<a href="/wiki/The_Colonel_(Monty_Python)" title="The Colonel (Monty Python)">The Colonel</a>" (Chapman), a British Army officer who interrupts sketches that are "too silly" or that contain material he finds offensive. The Colonel also appears when non-BBC broadcast repeats need to be cut off for time constraints in <a href="/wiki/Broadcast_syndication" title="Broadcast syndication">syndication</a>.</li>\n<li>Arthur Pewtey (Palin), a socially inept, extremely dull man who appears most notably in the "<a href="/wiki/Marriage_Guidance_Counsellor" title="Marriage Guidance Counsellor">Marriage Guidance Counsellor</a>" and "<a href="/wiki/Ministry_of_Silly_Walks" class="mw-redirect" title="Ministry of Silly Walks">Ministry of Silly Walks</a>" sketches. His sketches all take the form of an office appointment with an authority figure (usually played by Cleese), which are used to parody the officious side of the British establishment by having the professional employed in the most bizarre field of expertise. The spelling of Pewtey\'s surname is changed, sometimes being spelled "Putey".</li>\n<li>The Reverend Arthur Belling is the <a href="/wiki/Vicar" title="Vicar">vicar</a> of St Loony-Up-The-Cream-Bun-and-Jam, known for his deranged behaviour. In one sketch (within Series 2, played by Chapman), he makes an appeal to the insane people of the world to drive sane people insane. In another sketch (within Series 3, played by Palin), which is among the pantheon of fan favourites<sup class="noprint Inline-Template Template-Fact" style="white-space:nowrap;">&#91;<i><a href="/wiki/Wikipedia:Citation_needed" title="Wikipedia:Citation needed"><span title="This claim needs references to reliable sources. (January 2019)">citation needed</span></a></i>&#93;</sup>, the vicar politely joins a honeymooning couple at an outdoor café, repeatedly insisting he does not wish to disturb them; he then sits down, opens a suitcase full of props, and calmly proceeds to smash plates on the table, shake a baby doll in their faces, bounce a rubber crab from a ping-pong paddle, and spray shaving cream all over his face, all whilst loudly chanting nonsense syllables. Rev. Belling\'s odd version of \'not being disturbing\' serves to convert the couple to his bizarre sect of Christianity.</li>\n<li>A somewhat disreputable shopkeeper, played by Palin, is a staple of many a two-person sketch (notably "Dead Parrot Sketch" and "Cheese Shop"). He often speaks with a strong Cockney accent, and has no consistent name.</li>\n<li>Mr. Badger (Idle), a Scotsman whose specialty was interrupting sketches (\'I won\'t ruin your sketch, for a pound\'). He was once interviewed, in a sketch opposite Cleese, regarding his interpretation of the <a href="/wiki/Magna_Carta" title="Magna Carta">Magna Carta</a>, which Badger believes was actually a piece of chewing gum on a bedspread in <a href="/wiki/Dorset" title="Dorset">Dorset</a>. He has also been seen as an <a href="/wiki/Aircraft_hijacking" title="Aircraft hijacking">aeroplane hijacker</a> whose demands grow increasingly strange.</li>\n<li><a href="/wiki/Mr._Praline" class="mw-redirect" title="Mr. Praline">Mr. Eric Praline</a>, a disgruntled man, played by Cleese and who often wears a <a href="/wiki/Cagoule_(raincoat)#The_roll-up-able_cagoule" class="mw-redirect" title="Cagoule (raincoat)">Pac-a-Mac</a>. His most famous appearance is in the "<a href="/wiki/Dead_Parrot_sketch" title="Dead Parrot sketch">Dead Parrot sketch</a>". His name is only mentioned once on-screen, during the "<a href="/wiki/Fish_Licence" title="Fish Licence">Fish Licence</a>" sketch, but his attire (together with Cleese\'s distinctive, nasal performance) distinguishes him as a recognisable character who makes multiple appearances throughout the first two series. An audio re-recording of "Fish Licence" also reveals that he has multiple pets of wildly differing species, all of them named "<a href="/wiki/Eric_the_Half-a-Bee" title="Eric the Half-a-Bee">Eric</a>".</li>\n<li>Arthur Nudge, a well-dressed mustachioed man, referred to in the published scripts as "Mr. Nudge" (Idle), who pointedly annoys uptight characters (usually Jones). He is characterised by his constant nudging gestures and cheeky innuendo. His most famous appearance is in his initial sketch, "<a href="/wiki/Nudge_Nudge" title="Nudge Nudge">Nudge Nudge</a>", though he appears in several later sketches too, including "The Visitors", where he claimed his name was Arthur Name.</li>\n<li><a href="/wiki/Biggles" title="Biggles">Biggles</a> (Chapman, and <a href="/wiki/The_Spanish_Inquisition_(Monty_Python)" title="The Spanish Inquisition (Monty Python)">in one instance</a> Jones), a World War I pilot. Derived from the famous series of fiction stories by <a href="/wiki/W._E._Johns" title="W. E. Johns">W. E. Johns</a>.</li>\n<li><span id="Luigi_Vercotti">Luigi Vercotti</span> (Palin), a <a href="/wiki/Mafioso_(criminal)" class="mw-redirect" title="Mafioso (criminal)">mafioso entrepreneur</a> and <a href="/wiki/Pimp" class="mw-redirect" title="Pimp">pimp</a> featured during the first series, accompanied in his first appearance by his brother Dino (Jones). He appears as the manager for <a href="/wiki/Ron_Obvious_(Monty_Python)" class="mw-redirect" title="Ron Obvious (Monty Python)">Ron Obvious</a>, the owner of La Gondola restaurant and as a victim of the <a href="/wiki/Piranha_Brothers" title="Piranha Brothers">Piranha Brothers</a>. With his brother, he attempts to talk the Colonel into paying for <a href="/wiki/Pizzo_(extortion)" class="mw-redirect" title="Pizzo (extortion)">protection of his Army base</a>.</li>\n<li><a href="/wiki/The_Spanish_Inquisition_(Monty_Python)" title="The Spanish Inquisition (Monty Python)">The Spanish Inquisition</a> would burst into a previously unrelated sketch whenever their name was mentioned. Their catchphrase was \'Nobody expects the Spanish Inquisition!\' They consist of Cardinal Ximinez (Palin), Cardinal Fang (Gilliam), and Cardinal Biggles (Jones). They premiered in series two and Ximinez had a cameo in "The Buzz Aldrin Show".</li>\n<li>Frenchmen: Cleese and Palin would sometimes dress in stereotypical French garb, e.g. striped shirt, tight pants, <a href="/wiki/Beret" title="Beret">beret</a>, and speak in garbled French, with incomprehensible accents. They had one fake moustache between them, and each would stick it onto the other\'s lip when it was his turn to speak. They appear giving a demonstration of the technical aspects of the flying sheep in episode 2 ("Sex and Violence"), and appear in the <a href="/wiki/Ministry_of_Silly_Walks" class="mw-redirect" title="Ministry of Silly Walks">Ministry of Silly Walks</a> sketch as the developers of "La Marche Futile". They also make an appearance in <i><a href="/wiki/Monty_Python_and_the_Holy_Grail" title="Monty Python and the Holy Grail">Monty Python and the Holy Grail</a></i>.</li>\n<li>The Compère (Palin), a sleazy nightclub emcee in a red jacket. He linked sketches by introducing them as nightclub acts, and was occasionally seen after the sketch, passing comment on it. In one link, he was the victim of the Knight with a Raw Chicken.</li>\n<li><a href="/wiki/Piranha_Brothers" title="Piranha Brothers">Spiny Norman</a>, a Gilliam animation of a giant hedgehog. He is introduced in Episode 1 of Series 2 in "Piranha Brothers" as an hallucination experienced by Dinsdale Piranha when he is depressed. Later, Spiny Norman appears randomly in the background of animated cityscapes, shouting \'Dinsdale!\'</li>\n<li><a href="/wiki/Cardinal_Richelieu" title="Cardinal Richelieu">Cardinal Richelieu</a> (Palin) is impersonated by someone or is impersonating someone else. He is first seen as a witness in court, but he turns out to be Ron Higgins, a professional Cardinal Richelieu impersonator. He is later seen during the "Historical Impersonations" sketch as himself impersonating <a href="/wiki/Petula_Clark" title="Petula Clark">Petula Clark</a>.</li>\n<li>Ken Shabby (Palin), an unkempt, disgusting man who cleaned public lavatories, appeared in his own sketch in the first series, attempting to get approval from another man (Chapman) to marry his daughter (Booth). In the second series, he appeared in several <i><a href="/wiki/Vox_populi" title="Vox populi">vox populi</a></i> segments. He later founded his own religion (as part of the "Crackpot Religions" sketch) and called himself Archbishop Shabby.</li>\n<li>Raymond Luxury-Yacht (Chapman) is described as one of Britain\'s leading skin specialists. He wears an enormous fake nose made of <a href="/wiki/Polystyrene" title="Polystyrene">polystyrene</a>. He proudly proclaims that his name \'is spelled "Raymond Luxury-Yach-t", but it is pronounced "Throat-Wobbler Mangrove"\'.</li>\n<li>A Madman (Chapman) Often appears in vox pops segments. He wears a <a href="/wiki/Bowler_hat" title="Bowler hat">bowler hat</a> and has a bushy <a href="/wiki/Moustache" title="Moustache">moustache</a>. He will always rant and ramble about his life whenever he appears and will occasionally foam at the mouth and fall over backwards. He appears in "The Naked Ant", "The Buzz Aldrin Show" and "It\'s a Living".</li></ul>\n<p>Other returning characters include a married couple, often mentioned but never seen, <a href="/wiki/Ann_Haydon-Jones" class="mw-redirect" title="Ann Haydon-Jones">Ann Haydon-Jones</a> and her husband Pip. In "<a href="/wiki/Election_Night_Special" title="Election Night Special">Election Night Special</a>", Pip has lost a political seat to <a href="/wiki/Engelbert_Humperdinck_(singer)" title="Engelbert Humperdinck (singer)">Engelbert Humperdinck</a>. Several recurring characters are played by different Pythons. Both Palin and Chapman played the insanely violent Police Constable <a href="/wiki/Pan_American_World_Airways" class="mw-redirect" title="Pan American World Airways">Pan Am</a>. Both Jones and Palin portrayed police sergeant Harry \'Snapper\' Organs of Q division. Various historical figures were played by a different cast member in each appearance, such as <a href="/wiki/Wolfgang_Amadeus_Mozart" title="Wolfgang Amadeus Mozart">Mozart</a> (Cleese, then Palin), or <a href="/wiki/Queen_Victoria" title="Queen Victoria">Queen Victoria</a> (Jones, then Palin, then all five Pythons in Series 4).\n</p><p>Some of the Pythons\' real-life targets recurred more frequently than others. <a href="/wiki/Reginald_Maudling" title="Reginald Maudling">Reginald Maudling</a>, a contemporary <a href="/wiki/Conservative_Party_(UK)" title="Conservative Party (UK)">Conservative</a> politician, was singled out for perhaps the most consistent ridicule.<sup id="cite_ref-FOOTNOTELarsen2008288_10-0" class="reference"><a href="#cite_note-FOOTNOTELarsen2008288-10">&#91;10&#93;</a></sup> Then-<a href="/wiki/Secretary_of_State_for_Education_and_Science" class="mw-redirect" title="Secretary of State for Education and Science">Secretary of State for Education and Science</a>, and (well after the programme had ended) Prime Minister <a href="/wiki/Margaret_Thatcher" title="Margaret Thatcher">Margaret Thatcher</a>, was occasionally mentioned, in particular referring to Thatcher\'s brain as being in her shin received a hearty laugh from the studio audience<sup class="noprint Inline-Template Template-Fact" style="white-space:nowrap;">&#91;<i><a href="/wiki/Wikipedia:Citation_needed" title="Wikipedia:Citation needed"><span title="This claim needs references to reliable sources. (January 2019)">citation needed</span></a></i>&#93;</sup>. Then-US President <a href="/wiki/Richard_Nixon" title="Richard Nixon">Richard Nixon</a> was also frequently mocked, as was Conservative party leader <a href="/wiki/Edward_Heath" title="Edward Heath">Edward Heath</a>, prime minister for much of the series\' run. The <a href="/wiki/Law_enforcement_in_the_United_Kingdom" title="Law enforcement in the United Kingdom">British police</a> were also a favourite target, often acting bizarrely, stupidly, or abusing their authority, frequently in drag.\n</p>\n<h2><span class="mw-headline" id="Series_overview">Series overview</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Monty_Python%27s_Flying_Circus&amp;action=edit&amp;section=4" title="Edit section: Series overview">edit</a><span class="mw-editsection-bracket">]</span></span></h2>\n<link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1033289096"/><div role="note" class="hatnote navigation-not-searchable">Main article: <a href="/wiki/List_of_Monty_Python%27s_Flying_Circus_episodes" title="List of Monty Python&#39;s Flying Circus episodes">List of Monty Python\'s Flying Circus episodes</a></div>\n<p>There were a total of 45 episodes of <i>Monty Python\'s Flying Circus</i> made across four series.\n</p>\n<table class="wikitable plainrowheaders" style="text-align:center;height:1px;display:table"><tbody><tr style="text-align:center"><th scope="col" rowspan="2" style="min-width:50px;padding:0 8px">Series</th><th scope="col" rowspan="2" colspan="2" style="padding:0 8px">Episodes</th><th scope="col" colspan="2">Originally aired</th></tr><tr><th scope="col">First aired</th><th scope="col">Last aired</th></tr><tr style="height:100%"><th scope="row" colspan="1" style="height:inherit;padding:0"><span style="text-align:center;float:left;width:100%;height:100%"><span style="width:14px;background:#1E599C;height:100%;float:left;box-shadow:inset -1px 0 #A2A9B1"></span><span style="height:100%;width:calc(100% - 14px);display:flex;vertical-align:middle;align-items:center;justify-content:center"><span class="nowrap"><a href="/wiki/List_of_Monty_Python%27s_Flying_Circus_episodes#Series_1_(1969–70)" title="List of Monty Python&#39;s Flying Circus episodes">1</a></span></span></span></th><td colspan="2">13</td><td colspan="1" style="padding:0.2em 0.4em">5 October 1969</td><td style="padding:0 8px">11 January 1970</td></tr><tr style="height:100%"><th scope="row" colspan="1" style="height:inherit;padding:0"><span style="text-align:center;float:left;width:100%;height:100%"><span style="width:14px;background:#CB9F34;height:100%;float:left;box-shadow:inset -1px 0 #A2A9B1"></span><span style="height:100%;width:calc(100% - 14px);display:flex;vertical-align:middle;align-items:center;justify-content:center"><span class="nowrap"><a href="/wiki/List_of_Monty_Python%27s_Flying_Circus_episodes#Series_2_(1970)" title="List of Monty Python&#39;s Flying Circus episodes">2</a></span></span></span></th><td colspan="2">13</td><td colspan="1" style="padding:0.2em 0.4em">15 September 1970</td><td style="padding:0 8px">22 December 1970</td></tr><tr style="height:100%"><th scope="row" colspan="1" style="height:inherit;padding:0"><span style="text-align:center;float:left;width:100%;height:100%"><span style="width:14px;background:#AE86C5;height:100%;float:left;box-shadow:inset -1px 0 #A2A9B1"></span><span style="height:100%;width:calc(100% - 14px);display:flex;vertical-align:middle;align-items:center;justify-content:center"><span class="nowrap"><a href="/wiki/List_of_Monty_Python%27s_Flying_Circus_episodes#Series_3_(1972–73)" title="List of Monty Python&#39;s Flying Circus episodes">3</a></span></span></span></th><td colspan="2">13</td><td colspan="1" style="padding:0.2em 0.4em">19 October 1972</td><td style="padding:0 8px">18 January 1973</td></tr><tr style="height:100%"><th scope="row" colspan="1" style="height:inherit;padding:0"><span style="text-align:center;float:left;width:100%;height:100%"><span style="width:14px;background:#F1721D;height:100%;float:left;box-shadow:inset -1px 0 #A2A9B1"></span><span style="height:100%;width:calc(100% - 14px);display:flex;vertical-align:middle;align-items:center;justify-content:center"><span class="nowrap"><a href="/wiki/List_of_Monty_Python%27s_Flying_Circus_episodes#Series_4_(1974)" title="List of Monty Python&#39;s Flying Circus episodes">4</a></span></span></span></th><td colspan="2">6</td><td colspan="1" style="padding:0.2em 0.4em">31 October 1974</td><td style="padding:0 8px">5 December 1974</td></tr></tbody></table>\n<h3><span id="Monty_Python.27s_Fliegender_Zirkus"></span><span class="mw-headline" id="Monty_Python\'s_Fliegender_Zirkus"><i>Monty Python\'s Fliegender Zirkus</i></span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Monty_Python%27s_Flying_Circus&amp;action=edit&amp;section=5" title="Edit section: Monty Python&#039;s Fliegender Zirkus">edit</a><span class="mw-editsection-bracket">]</span></span></h3>\n<link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1033289096"/><div role="note" class="hatnote navigation-not-searchable">Main article: <a href="/wiki/Monty_Python%27s_Fliegender_Zirkus" title="Monty Python&#39;s Fliegender Zirkus">Monty Python\'s Fliegender Zirkus</a></div>\n<p>Two episodes were produced in German for WDR (<a href="/wiki/Westdeutscher_Rundfunk" title="Westdeutscher Rundfunk">Westdeutscher Rundfunk</a>), both entitled <i>Monty Python\'s Fliegender Zirkus</i>, the literal German translation of the English title. While visiting the UK in the early 1970s, German entertainer and TV producer <a href="/wiki/Alfred_Biolek" title="Alfred Biolek">Alfred Biolek</a> caught notice of the Pythons. Excited by their innovative, absurd sketches, he invited them to Germany in 1971 and 1972 to write and act in two special German episodes.\n</p><p>The first episode, advertised as <i>Monty Python’s Fliegender Zirkus: Blödeln für Deutschland</i> ("Monty Python\'s Flying Circus: Clowning Around for Germany"), was produced in 1971 and performed in German. The second episode, advertised as <i>Monty Python’s Fliegender Zirkus: Blödeln auf die feine englische Art</i> ("Monty Python\'s Flying Circus: Clowning Around in the Distinguished English Way"), produced in 1972, was recorded in English and dubbed into German for its broadcast in Germany. The original English recording was transmitted by the BBC in October 1973.\n</p>\n<h2><span class="mw-headline" id="Development">Development</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Monty_Python%27s_Flying_Circus&amp;action=edit&amp;section=6" title="Edit section: Development">edit</a><span class="mw-editsection-bracket">]</span></span></h2>\n<link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1033289096"/><div role="note" class="hatnote navigation-not-searchable">See also: <a href="/wiki/Monty_Python" title="Monty Python">Monty Python</a></div>\n<p>Prior to the show, the six main cast members had met each other as part of various comedy shows: Jones and Palin were members of <a href="/wiki/The_Oxford_Revue" title="The Oxford Revue">The Oxford Revue</a>, while Chapman, Cleese, and Idle were members of <a href="/wiki/Cambridge_University" class="mw-redirect" title="Cambridge University">Cambridge University</a>\'s <a href="/wiki/Footlights" title="Footlights">Footlights</a>, and while on tour in the United States, met Gilliam. In various capacities, the six worked on a number of different British radio and television comedy shows from 1964 to 1969 as both writers and on-screen roles. The six began to collaborate on ideas together, blending elements of their previous shows, to devise the premise of a new comedy show which presented a number of skits with minimal common elements, as if it were comedy presented by a <a href="/wiki/Stream_of_consciousness" title="Stream of consciousness">stream of consciousness</a>. This was aided through the use of Gilliam\'s animations to help transition skits from one to the next.<sup id="cite_ref-Gilliam_animation_11-0" class="reference"><a href="#cite_note-Gilliam_animation-11">&#91;11&#93;</a></sup>\n</p>\n<h2><span class="mw-headline" id="Casting">Casting</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Monty_Python%27s_Flying_Circus&amp;action=edit&amp;section=7" title="Edit section: Casting">edit</a><span class="mw-editsection-bracket">]</span></span></h2>\n<p>Although there were few recurring characters, and the six cast members played many diverse roles, each perfected some character traits.\n</p>\n<h3><span class="mw-headline" id="Chapman">Chapman</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Monty_Python%27s_Flying_Circus&amp;action=edit&amp;section=8" title="Edit section: Chapman">edit</a><span class="mw-editsection-bracket">]</span></span></h3>\n<p><a href="/wiki/Graham_Chapman" title="Graham Chapman">Graham Chapman</a> often portrayed straight-laced men, of any age or class, frequently authority figures such as military officers, policemen or doctors. His characters could, at any moment, engage in "Pythonesque" <a href="/wiki/Mania" title="Mania">maniacal</a> behaviour and then return to their former sobriety.<sup id="cite_ref-12" class="reference"><a href="#cite_note-12">&#91;12&#93;</a></sup> He was also skilled in abuse, which he brusquely delivered in such sketches as "Argument Clinic" and "Flying Lessons". He adopted a dignified demeanour as the leading "<a href="/wiki/Straight_man" title="Straight man">straight man</a>" in the Python feature films <i><a href="/wiki/Monty_Python_and_the_Holy_Grail" title="Monty Python and the Holy Grail">Holy Grail</a></i> (<a href="/wiki/King_Arthur" title="King Arthur">King Arthur</a>) and <i><a href="/wiki/Life_of_Brian" class="mw-redirect" title="Life of Brian">Life of Brian</a></i> (the title character).<sup id="cite_ref-13" class="reference"><a href="#cite_note-13">&#91;13&#93;</a></sup>\n</p>\n<h3><span class="mw-headline" id="Cleese">Cleese</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Monty_Python%27s_Flying_Circus&amp;action=edit&amp;section=9" title="Edit section: Cleese">edit</a><span class="mw-editsection-bracket">]</span></span></h3>\n<p><a href="/wiki/John_Cleese" title="John Cleese">John Cleese</a> played ridiculous authority figures. Gilliam claims that Cleese is the funniest of the Pythons in drag, as he barely needs to be dressed up to look hilarious, with his square chin and 6\' 5" (196&#160;cm) frame (see the "Mr. and Mrs. Git" sketch).<sup class="noprint Inline-Template Template-Fact" style="white-space:nowrap;">&#91;<i><a href="/wiki/Wikipedia:Citation_needed" title="Wikipedia:Citation needed"><span title="This claim needs references to reliable sources. (March 2012)">citation needed</span></a></i>&#93;</sup> Cleese also played intimidating maniacs, such as an instructor in the "<a href="/wiki/Self-Defence_Against_Fresh_Fruit" title="Self-Defence Against Fresh Fruit">Self-Defence Against Fresh Fruit</a>" sketch. His character <a href="/wiki/Mr._Praline" class="mw-redirect" title="Mr. Praline">Mr. Praline</a>, the put-upon consumer, featured in some of the most popular sketches, most famously in "<a href="/wiki/Dead_Parrot" class="mw-redirect" title="Dead Parrot">Dead Parrot</a>".<sup id="cite_ref-14" class="reference"><a href="#cite_note-14">&#91;14&#93;</a></sup> One star turn that proved most memorable among Python fans was "<a href="/wiki/The_Ministry_of_Silly_Walks" title="The Ministry of Silly Walks">The Ministry of Silly Walks</a>", where he worked for the eponymous government department. The sketch displays the notably tall and loose-limbed Cleese\'s physicality in a variety of silly walks. Despite its popularity, particularly among American fans, Cleese himself particularly disliked the sketch, feeling that many of the laughs it generated were cheap and that no balance was provided by what could have been the true satirical centrepoint.<sup class="noprint Inline-Template Template-Fact" style="white-space:nowrap;">&#91;<i><a href="/wiki/Wikipedia:Citation_needed" title="Wikipedia:Citation needed"><span title="This claim needs references to reliable sources. (March 2012)">citation needed</span></a></i>&#93;</sup> Another of his trademarks is his over-the-top delivery of abuse, particularly his screaming "You bastard!"\n</p><p>Cleese often played foreigners with ridiculous accents, especially Frenchmen, most of the time with Palin. Sometimes this extended to the use of actual French or German (such as "The Funniest Joke in the World", "Mr. <a href="/wiki/Adolf_Hitler" title="Adolf Hitler">Hilter</a>", or "La Marche Futile" at the end of "The Ministry of Silly Walks"), but still with a very heavy accent (or impossible to understand, as for example Hilter\'s speech).\n</p>\n<h3><span class="mw-headline" id="Gilliam">Gilliam</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Monty_Python%27s_Flying_Circus&amp;action=edit&amp;section=10" title="Edit section: Gilliam">edit</a><span class="mw-editsection-bracket">]</span></span></h3>\n<div class="thumb tright"><div class="thumbinner" style="width:242px;"><a href="/wiki/File:Angelo_Bronzino_-_Venus,_Cupid,_Folly_and_Time_-_National_Gallery,_London.jpg" class="image"><img alt="" src="//upload.wikimedia.org/wikipedia/commons/thumb/8/83/Angelo_Bronzino_-_Venus%2C_Cupid%2C_Folly_and_Time_-_National_Gallery%2C_London.jpg/240px-Angelo_Bronzino_-_Venus%2C_Cupid%2C_Folly_and_Time_-_National_Gallery%2C_London.jpg" decoding="async" width="240" height="303" class="thumbimage" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/8/83/Angelo_Bronzino_-_Venus%2C_Cupid%2C_Folly_and_Time_-_National_Gallery%2C_London.jpg/360px-Angelo_Bronzino_-_Venus%2C_Cupid%2C_Folly_and_Time_-_National_Gallery%2C_London.jpg 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/8/83/Angelo_Bronzino_-_Venus%2C_Cupid%2C_Folly_and_Time_-_National_Gallery%2C_London.jpg/480px-Angelo_Bronzino_-_Venus%2C_Cupid%2C_Folly_and_Time_-_National_Gallery%2C_London.jpg 2x" data-file-width="3349" data-file-height="4226" /></a>  <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Angelo_Bronzino_-_Venus,_Cupid,_Folly_and_Time_-_National_Gallery,_London.jpg" class="internal" title="Enlarge"></a></div>The famous Python Foot can here be seen in its original context in the bottom-left corner of <i><a href="/wiki/Venus,_Cupid,_Folly_and_Time" title="Venus, Cupid, Folly and Time">Venus, Cupid, Folly and Time</a></i> by <a href="/wiki/Bronzino" title="Bronzino">Agnolo Bronzino</a>, in the <a href="/wiki/National_Gallery,_London" class="mw-redirect" title="National Gallery, London">National Gallery, London</a></div></div></div>\n<div class="thumb tright"><div class="thumbinner" style="width:242px;"><a href="/wiki/File:Foot_detail_from_Venus,_Cupid,_Folly_and_Time_by_Agnolo_Bronzino.jpg" class="image"><img alt="" src="//upload.wikimedia.org/wikipedia/commons/thumb/8/89/Foot_detail_from_Venus%2C_Cupid%2C_Folly_and_Time_by_Agnolo_Bronzino.jpg/240px-Foot_detail_from_Venus%2C_Cupid%2C_Folly_and_Time_by_Agnolo_Bronzino.jpg" decoding="async" width="240" height="233" class="thumbimage" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/8/89/Foot_detail_from_Venus%2C_Cupid%2C_Folly_and_Time_by_Agnolo_Bronzino.jpg/360px-Foot_detail_from_Venus%2C_Cupid%2C_Folly_and_Time_by_Agnolo_Bronzino.jpg 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/8/89/Foot_detail_from_Venus%2C_Cupid%2C_Folly_and_Time_by_Agnolo_Bronzino.jpg/480px-Foot_detail_from_Venus%2C_Cupid%2C_Folly_and_Time_by_Agnolo_Bronzino.jpg 2x" data-file-width="686" data-file-height="667" /></a>  <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Foot_detail_from_Venus,_Cupid,_Folly_and_Time_by_Agnolo_Bronzino.jpg" class="internal" title="Enlarge"></a></div>Close-up of the foot</div></div></div>\n<p>Many Python sketches were linked together by the <a href="/wiki/Cutout_animation" title="Cutout animation">cut-out animations</a> of <a href="/wiki/Terry_Gilliam" title="Terry Gilliam">Terry Gilliam</a>, including the opening titles featuring the iconic giant foot that became a symbol of all that was \'Pythonesque\'.<sup id="cite_ref-15" class="reference"><a href="#cite_note-15">&#91;15&#93;</a></sup> Gilliam’s unique visual style was characterised by sudden, dramatic movements and deliberate mismatches of scale, set in <a href="/wiki/Surrealism" title="Surrealism">surrealist</a> landscapes populated by <a href="/wiki/Engraving" title="Engraving">engravings</a> of large buildings with elaborate architecture, grotesque <a href="/wiki/Victorian_era#Technology_and_engineering" title="Victorian era">Victorian</a> gadgets, machinery, and people cut from old <a href="/wiki/Sears_Roebuck" class="mw-redirect" title="Sears Roebuck">Sears Roebuck</a> catalogues. Gilliam added <a href="/wiki/Airbrush" title="Airbrush">airbrush</a> illustrations and many familiar pieces of art. All of these elements were combined in incongruous ways to obtain new and humorous meanings.\n</p><p>The surreal nature of the series allowed Gilliam’s animation to go off on bizarre, imaginative tangents, features that were impossible to produce live-action at the time. Some running gags derived from these animations were a giant <a href="/wiki/Hedgehog" title="Hedgehog">hedgehog</a> named Spiny Norman who appeared over the tops of buildings shouting, "Dinsdale!", further petrifying the paranoid <a href="/wiki/Piranha_Brothers" title="Piranha Brothers">Dinsdale Piranha</a>; and The Foot of Cupid, the giant foot that suddenly squashed things. The latter is appropriated from the figure of <a href="/wiki/Cupid" title="Cupid">Cupid</a> in the <a href="/wiki/Agnolo_Bronzino" class="mw-redirect" title="Agnolo Bronzino">Agnolo Bronzino</a> painting <i><a href="/wiki/Venus,_Cupid,_Folly_and_Time" title="Venus, Cupid, Folly and Time">Venus, Cupid, Folly and Time</a><sup id="cite_ref-16" class="reference"><a href="#cite_note-16">&#91;16&#93;</a></sup></i> and appeared in the opening credits.\n</p><p>Notable Gilliam sequences for the show include Conrad Poohs and his Dancing Teeth, the rampage of the cancerous black spot, The Killer Cars and a giant cat that stomps its way through London, destroying everything in its path.\n</p><p>Initially only hired to be the animator of the series, Gilliam was not thought of (even by himself) as an on-screen performer at first, being American and not very good at the deep and sometimes exaggerated English accent of his fellows. The others felt they owed him something and so he sometimes appeared before the camera, usually in the parts that no one else wanted to play, generally because they required a lot of make-up or involved uncomfortable costumes.<sup id="cite_ref-17" class="reference"><a href="#cite_note-17">&#91;17&#93;</a></sup> The most recurrent of these was The-Knight-Who-Hits-People-With-A-Chicken, a knight in armour who would walk on-set and hit another character on the head with a plucked chicken either to end a sketch or when they said something really corny. Some of Gilliam\'s other on-screen portrayals included:\n</p>\n<ul><li>A man with a <a href="/wiki/Stoat" title="Stoat">stoat</a> through his head</li>\n<li>Cardinal Fang in "<a href="/wiki/The_Spanish_Inquisition_(Monty_Python)" title="The Spanish Inquisition (Monty Python)">The Spanish Inquisition</a>"</li>\n<li>A dandy wearing only a mask, bikini underwear and a cape, in "The Visitors"</li>\n<li>A hotel clerk in "The Cycling Tour" episode</li>\n<li>A trouser-less man with a multi coloured wig and a Goat on a lead asking for "Mrs. Rogers" at the start of the New Gas Cooker sketch.</li>\n<li>A fat and appallingly <a href="/wiki/Flatulence" title="Flatulence">flatulent</a> young man obsessed with (and covered in) <a href="/wiki/Baked_beans" title="Baked beans">baked beans</a> in the "Most Awful Family In Britain" sketch.</li>\n<li>A wheelchair using security guard, sporting an enormous sword through his head.</li>\n<li><a href="/wiki/Percy_Bysshe_Shelley" title="Percy Bysshe Shelley">Percy Bysshe Shelley</a> in the "Michael Ellis" episode</li></ul>\n<p>Gilliam soon became distinguished as the go-to member for the most obscenely grotesque characters. This carried over into the <i>Holy Grail</i> film, where Gilliam played King Arthur\'s hunchbacked page \'Patsy\' and the bridgekeeper at the Bridge of Death as well as the \'deaf and mad\' jailer in <i>Life of Brian</i>. It has also been claimed that he was originally asked by Terry Jones to play Mr. Creosote in <i>The Meaning of Life</i>, but turned it down.\n</p>\n<h3><span class="mw-headline" id="Idle">Idle</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Monty_Python%27s_Flying_Circus&amp;action=edit&amp;section=11" title="Edit section: Idle">edit</a><span class="mw-editsection-bracket">]</span></span></h3>\n<p><a href="/wiki/Eric_Idle" title="Eric Idle">Eric Idle</a> is known for his roles as a cheeky, suggestive playboy ("<a href="/wiki/Nudge_Nudge" title="Nudge Nudge">Nudge Nudge</a>"), a variety of pretentious television presenters (such as his over-the-top portrayal of <a href="/wiki/Philip_Jenkinson" title="Philip Jenkinson">Philip Jenkinson</a> in the segments connecting the "<a href="/wiki/Cheese_Shop_sketch" title="Cheese Shop sketch">Cheese Shop</a>" and "<a href="/wiki/Sam_Peckinpah%27s_%22Salad_Days%22" title="Sam Peckinpah&#39;s &quot;Salad Days&quot;">Salad Days</a>" sketches), a crafty, slick salesman ("Door-to-Door Joke Salesman", "Encyclopedia Salesman") and the merchant who loves to haggle in <i><a href="/wiki/Monty_Python%E2%80%99s_Life_of_Brian" class="mw-redirect" title="Monty Python’s Life of Brian">Monty Python’s Life of Brian</a></i>. He is acknowledged as \'the master of the one-liner\' by the other Pythons, along with his ability to deliver extensive, sometimes maniacal monologues with barely a breath, such as in "The Money Programme".<sup id="cite_ref-18" class="reference"><a href="#cite_note-18">&#91;18&#93;</a></sup> He is also considered the best singer/songwriter in the group; for example, he played guitar in several sketches and wrote and performed "<a href="/wiki/Always_Look_on_the_Bright_Side_of_Life" title="Always Look on the Bright Side of Life">Always Look on the Bright Side of Life</a>" from <i>The Life of Brian</i>.<sup id="cite_ref-19" class="reference"><a href="#cite_note-19">&#91;19&#93;</a></sup> Unlike Jones, he often played female characters in a more straightforward way, only altering his voice slightly, as opposed to the falsetto shrieking used by the others. Several times, Idle appeared as upper-class, <a href="/wiki/Middle-aged" class="mw-redirect" title="Middle-aged">middle-aged</a> women, such as Rita Fairbanks ("Reenactment of the Battle of Pearl Harbor") and the sexually-repressed Protestant wife in the "<a href="/wiki/Every_Sperm_is_Sacred" class="mw-redirect" title="Every Sperm is Sacred">Every Sperm is Sacred</a>" sketch, in <i>The Meaning of Life</i>.\n</p><p>Because he was not from an already-established writing partnership prior to Python, Idle wrote his sketches alone.<sup id="cite_ref-20" class="reference"><a href="#cite_note-20">&#91;20&#93;</a></sup>\n</p>\n<h3><span class="mw-headline" id="Jones">Jones</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Monty_Python%27s_Flying_Circus&amp;action=edit&amp;section=12" title="Edit section: Jones">edit</a><span class="mw-editsection-bracket">]</span></span></h3>\n<p>Although all of the Pythons played women, <a href="/wiki/Terry_Jones" title="Terry Jones">Terry Jones</a> is renowned by the rest to be \'the best Rat-Bag woman in the business\'.<sup class="noprint Inline-Template Template-Fact" style="white-space:nowrap;">&#91;<i><a href="/wiki/Wikipedia:Citation_needed" title="Wikipedia:Citation needed"><span title="This claim needs references to reliable sources. (March 2012)">citation needed</span></a></i>&#93;</sup> His portrayal of a middle-aged housewife was louder, shriller, and more dishevelled than that of any of the other Pythons. Examples of this are the "<a href="/wiki/Dead_Bishop" class="mw-redirect" title="Dead Bishop">Dead Bishop</a>" sketch, his role as Brian\'s mother Mandy in <i><a href="/wiki/Life_of_Brian" class="mw-redirect" title="Life of Brian">Life of Brian</a></i>, Mrs Linda S-C-U-M in "Mr Neutron" and the café proprietor in "<a href="/wiki/Spam_(Monty_Python)" title="Spam (Monty Python)">Spam</a>". Also recurring was the upper-class reserved men, in "<a href="/wiki/Nudge,_Nudge" class="mw-redirect" title="Nudge, Nudge">Nudge, Nudge</a>" and the "It\'s a Man\'s Life" sketch, and incompetent authority figures (<a href="/wiki/Harry_%22Snapper%22_Organs" class="mw-redirect" title="Harry &quot;Snapper&quot; Organs">Harry "Snapper" Organs</a>). He also played the iconic Nude Organist that introduced all of series three. Generally, he deferred to the others as a performer, but proved himself behind the scenes, where he would eventually end up pulling most of the strings.<sup class="noprint Inline-Template Template-Fact" style="white-space:nowrap;">&#91;<i><a href="/wiki/Wikipedia:Citation_needed" title="Wikipedia:Citation needed"><span title="This claim needs references to reliable sources. (March 2012)">citation needed</span></a></i>&#93;</sup> Jones also portrayed the tobacconist in the "Hungarian translation sketch" and the enormously fat and bucket-vomiting <a href="/wiki/Mr._Creosote" class="mw-redirect" title="Mr. Creosote">Mr. Creosote</a> in <a href="/wiki/Monty_Python%27s_The_Meaning_of_Life" title="Monty Python&#39;s The Meaning of Life">Meaning of Life</a>.\n</p>\n<h3><span class="mw-headline" id="Palin">Palin</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Monty_Python%27s_Flying_Circus&amp;action=edit&amp;section=13" title="Edit section: Palin">edit</a><span class="mw-editsection-bracket">]</span></span></h3>\n<p><a href="/wiki/Michael_Palin" title="Michael Palin">Michael Palin</a> was regarded by the other members of the troupe as the one with the widest range, equally adept as a <a href="https://en.wiktionary.org/wiki/Straight_man" class="extiw" title="wiktionary:Straight man">straight man</a> or wildly over the top character.<sup class="noprint Inline-Template Template-Fact" style="white-space:nowrap;">&#91;<i><a href="/wiki/Wikipedia:Citation_needed" title="Wikipedia:Citation needed"><span title="This claim needs references to reliable sources. (March 2012)">citation needed</span></a></i>&#93;</sup> He portrayed many working-class northerners, often portrayed in a disgusting light: "<a href="/wiki/The_Funniest_Joke_in_the_World" title="The Funniest Joke in the World">The Funniest Joke in the World</a>" sketch and the "<a href="/wiki/Every_Sperm_Is_Sacred" title="Every Sperm Is Sacred">Every Sperm Is Sacred</a>" segment of <i><a href="/wiki/Monty_Python%27s_The_Meaning_of_Life" title="Monty Python&#39;s The Meaning of Life">Monty Python\'s The Meaning of Life</a></i>. In contrast, Palin also played weak-willed, put-upon men such as the husband in the "<a href="/wiki/Marriage_Guidance_Counsellor" title="Marriage Guidance Counsellor">Marriage Guidance Counsellor</a>" sketch, the boring accountant in the "<a href="/wiki/Vocational_Guidance_Counsellor" title="Vocational Guidance Counsellor">Vocational Guidance Counsellor</a>" sketch, and the hapless client in the "<a href="/wiki/Argument_Clinic" title="Argument Clinic">Argument Clinic</a>". He was equally at home as the indefatigable Cardinal Ximinez of Spain in "<a href="/wiki/The_Spanish_Inquisition_(Monty_Python)" title="The Spanish Inquisition (Monty Python)">The Spanish Inquisition</a>" sketch. Another high-energy character that Palin portrays is the slick TV show host, constantly smacking his lips together and generally being over-enthusiastic ("<a href="/wiki/And_Now_for_Something_Completely_Different#Sketches" title="And Now for Something Completely Different">Blackmail</a>" sketch). In one sketch, he plays the role with an underlying hint of self-revulsion, where he wipes his oily palms on his jacket, makes a disgusted face, then continues. One of his most famous creations<sup class="noprint Inline-Template Template-Fact" style="white-space:nowrap;">&#91;<i><a href="/wiki/Wikipedia:Citation_needed" title="Wikipedia:Citation needed"><span title="This claim needs references to reliable sources. (March 2012)">citation needed</span></a></i>&#93;</sup> was the shopkeeper who attempts to sell useless goods by very weak attempts at being sly and crafty, which are invariably spotted by the customer (often played by Cleese), as in the "<a href="/wiki/Dead_Parrot" class="mw-redirect" title="Dead Parrot">Dead Parrot</a>" and "<a href="/wiki/Cheese_Shop_sketch" title="Cheese Shop sketch">Cheese Shop</a>" sketches. Palin is also well known for his leading role in "<a href="/wiki/The_Lumberjack_Song" title="The Lumberjack Song">The Lumberjack Song</a>".\n</p><p>Palin also often plays heavy-accented foreigners, mostly French ("La marche futile") or German ("Hitler in Minehead"), usually alongside Cleese. In one of the last episodes, he delivers a full speech, first in English, then in French, then in heavily accented German.\n</p><p>Of all the Pythons, Palin played the fewest female roles.<sup class="noprint Inline-Template Template-Fact" style="white-space:nowrap;">&#91;<i><a href="/wiki/Wikipedia:Citation_needed" title="Wikipedia:Citation needed"><span title="This claim needs references to reliable sources. (March 2012)">citation needed</span></a></i>&#93;</sup> Among his portrayals of women are <a href="/wiki/Queen_Victoria" title="Queen Victoria">Queen Victoria</a> in the "Michael Ellis" episode, Debbie Katzenberg the American in <i><a href="/wiki/Monty_Python%27s_The_Meaning_of_Life" title="Monty Python&#39;s The Meaning of Life">Monty Python\'s The Meaning of Life</a></i>, a rural idiot\'s wife in the "Idiot in rural society" sketch, and an implausible English housewife who is married to <a href="/wiki/Jean-Paul_Sartre" title="Jean-Paul Sartre">Jean-Paul Sartre</a>.\n</p>\n<h2><span class="mw-headline" id="Production">Production</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Monty_Python%27s_Flying_Circus&amp;action=edit&amp;section=14" title="Edit section: Production">edit</a><span class="mw-editsection-bracket">]</span></span></h2>\n<p>The first five episodes of the series were produced by <a href="/wiki/John_Howard_Davies" title="John Howard Davies">John Howard Davies</a>, with Davies serving as studio director, and <a href="/wiki/Ian_MacNaughton" title="Ian MacNaughton">Ian MacNaughton</a> acting as location director. From the sixth episode onwards, MacNaughton became the producer and sole director on the series. Other regular team members included Hazel Pethig (costumes), Madelaine Gaffney (makeup) and John Horton (video effects designer). Maggie Weston, who worked on both makeup and design, married Gilliam in 1973 and they remain together. The series was primarily filmed in London studios and nearby locations, although location shooting to take in beaches and villages included filming in <a href="/wiki/Somerset" title="Somerset">Somerset</a>, <a href="/wiki/Norwich" title="Norwich">Norwich</a> and the island of <a href="/wiki/Jersey" title="Jersey">Jersey</a>.\n</p><p>Pre-production of the series had started by April 1969. Documents from the BBC showed that the viability of the show had been threatened around this time when Cleese reminded the BBC that he was still under contract from David Frost\'s <a href="/wiki/David_Paradine_Productions" title="David Paradine Productions">David Paradine Productions</a>, who wanted to co-produce the show. The BBC memos indicated the potential of holding off the show until 1971, when Cleese\'s contract with Paradine expired, but ultimately the situation was resolved, though the details of these negotiations have been lost.<sup id="cite_ref-irish_times_50th_21-0" class="reference"><a href="#cite_note-irish_times_50th-21">&#91;21&#93;</a></sup>\n</p>\n<h2><span class="mw-headline" id="Broadcast">Broadcast</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Monty_Python%27s_Flying_Circus&amp;action=edit&amp;section=15" title="Edit section: Broadcast">edit</a><span class="mw-editsection-bracket">]</span></span></h2>\n<h3><span class="mw-headline" id="Original_broadcast">Original broadcast</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Monty_Python%27s_Flying_Circus&amp;action=edit&amp;section=16" title="Edit section: Original broadcast">edit</a><span class="mw-editsection-bracket">]</span></span></h3>\n<p>The first episode aired on the BBC on Sunday, 5 October 1969, at 10:50&#160;p.m.<sup id="cite_ref-irish_times_50th_21-1" class="reference"><a href="#cite_note-irish_times_50th-21">&#91;21&#93;</a></sup> The BBC had to reassure some of its workers (who were considering going on strike and who thought the show was replacing a late-night, religious/devotional programme) by asserting that it was using the alternative programming to give clergymen time off on their busiest day.<sup id="cite_ref-irish_times_50th_21-2" class="reference"><a href="#cite_note-irish_times_50th-21">&#91;21&#93;</a></sup> The first episode did not fare well in terms of audience, capturing only about 3% of the total UK population, roughly 1.5 million, compared to <i><a href="/wiki/Dad%27s_Army" title="Dad&#39;s Army">Dad\'s Army</a></i> that had 22% on the Thursday of that same week. In addition to the lowest audience figures for shows during that week, the first episode has had the lowest <a href="/wiki/Appreciation_Index" title="Appreciation Index">Appreciation Index</a> for any of the BBC\'s light entertainment programmes.<sup id="cite_ref-independent_BBC_22-0" class="reference"><a href="#cite_note-independent_BBC-22">&#91;22&#93;</a></sup><sup id="cite_ref-irish_times_50th_21-3" class="reference"><a href="#cite_note-irish_times_50th-21">&#91;21&#93;</a></sup> While public reception improved over the course of the first series, certain BBC executives had already conceived a dislike for the show, with some BBC documents describing the show as "disgusting and nihilistic".<sup id="cite_ref-independent_BBC_22-1" class="reference"><a href="#cite_note-independent_BBC-22">&#91;22&#93;</a></sup> Some within the BBC had been more upbeat on how the first series had turned out and had congratulated the group accordingly, but a more general dislike for the show had already made an impact on the troupe, with Cleese announcing that he would be unlikely to continue to participate after the making of the second series.<sup id="cite_ref-independent_BBC_22-2" class="reference"><a href="#cite_note-independent_BBC-22">&#91;22&#93;</a></sup> Separately, the BBC had to re-edit several of the first series\' episodes to remove the personal address and phone number for <a href="/wiki/David_Frost" title="David Frost">David Frost</a> that the troupe had included in some sketches.<sup id="cite_ref-telegraph_bbc_23-0" class="reference"><a href="#cite_note-telegraph_bbc-23">&#91;23&#93;</a></sup>\n</p><p>The second series, while more popular than the first, further strained relations between the troupe and the BBC. Two of the sketches from the series finale "Royal Episode 13" were called out by BBC executives in a December 1970 meeting: "The Queen Will be Watching" in which the troupe mocks <a href="/wiki/God_Save_the_Queen" title="God Save the Queen">the UK national anthem</a>, and the "<a href="/wiki/Undertakers_sketch" title="Undertakers sketch">Undertakers sketch</a>" which took a comedic turn on how to dispose of the body of a loved one.<sup id="cite_ref-independent_BBC_22-3" class="reference"><a href="#cite_note-independent_BBC-22">&#91;22&#93;</a></sup><sup id="cite_ref-telegraph_bbc_23-1" class="reference"><a href="#cite_note-telegraph_bbc-23">&#91;23&#93;</a></sup> The BBC executives criticised producer MacNaughton for not alerting them to the content prior to airing.<sup id="cite_ref-telegraph_bbc_23-2" class="reference"><a href="#cite_note-telegraph_bbc-23">&#91;23&#93;</a></sup> According to Palin, via his published diary, the BBC started to censor the programme within the third series following this.<sup id="cite_ref-telegraph_bbc_23-3" class="reference"><a href="#cite_note-telegraph_bbc-23">&#91;23&#93;</a></sup>\n</p><p>Cleese remained for the third series but left afterwards. Cleese cited that he was no longer interested in the show, believing most of the material was rehashes of prior skits.<sup id="cite_ref-auto_24-0" class="reference"><a href="#cite_note-auto-24">&#91;24&#93;</a></sup> He also found it more difficult to work with Chapman who was struggling with alcoholism at the time.<sup id="cite_ref-25" class="reference"><a href="#cite_note-25">&#91;25&#93;</a></sup> The remaining Pythons, however, went on to produce a shortened fourth series, of which only six episodes were made prior to their decision to end the show prematurely, the final episode being broadcast on 5 December 1974.\n</p>\n<h3><span class="mw-headline" id="Lost_sketches">Lost sketches</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Monty_Python%27s_Flying_Circus&amp;action=edit&amp;section=17" title="Edit section: Lost sketches">edit</a><span class="mw-editsection-bracket">]</span></span></h3>\n<p>The first cut that the BBC forced on the show was the removal of David Frost\'s phone number from re-airings of the second episode of the first season, <i>Sex and Violence</i>, in the sketch "The Mouse Problem". The Pythons had slipped in a real contact number for David Frost to the initial airing, which resulted in numerous viewers bothering him.\n</p><p>Some material originally recorded went missing later, such as the use of the word "<a href="/wiki/Masturbation" title="Masturbation">masturbating</a>" in the "Summarize Proust" sketch (which was muted during the first airing, and later cut out entirely) or "What a silly bunt" in the Travel Agent sketch (which featured a character [Idle] who has a speech impediment that makes him pronounce "C"s as "B"s),<sup id="cite_ref-26" class="reference"><a href="#cite_note-26">&#91;26&#93;</a></sup> which was cut before the sketch ever went to air. However, when this sketch was included in the album <i><a href="/wiki/Monty_Python%27s_Previous_Record" title="Monty Python&#39;s Previous Record">Monty Python\'s Previous Record</a></i> and the <i><a href="/wiki/Monty_Python_Live_at_the_Hollywood_Bowl" title="Monty Python Live at the Hollywood Bowl">Live at the Hollywood Bowl</a></i> film, the line remained intact. Both sketches were included in the Danish <a href="/wiki/DR_K" title="DR K">DR K</a> re-airing of all episodes ("Episode 31", aired 1 November 2018, 6:50 pm).<sup id="cite_ref-27" class="reference"><a href="#cite_note-27">&#91;27&#93;</a></sup>\n</p><p>Some sketches were deleted in their entirety and later recovered. One such sketch is the "Party Political Broadcast (Choreographed)", where a Conservative Party spokesman (Cleese) delivers a party political broadcast before getting up and dancing, being coached by a choreographer (Idle), and being joined by a chorus of spokesmen dancing behind him. The camera passes two Labour Party spokesmen practising ballet, and an animation featuring <a href="/wiki/Edward_Heath" title="Edward Heath">Edward Heath</a> in a tutu. Once deemed lost, a home-recorded tape of this sketch, captured from a broadcast from <a href="/wiki/Buffalo,_New_York" title="Buffalo, New York">Buffalo, New York</a> PBS outlet <a href="/wiki/WNED-TV" title="WNED-TV">WNED-TV</a>, turned up on <a href="/wiki/YouTube" title="YouTube">YouTube</a> in 2008.<sup id="cite_ref-28" class="reference"><a href="#cite_note-28">&#91;28&#93;</a></sup> Another high-quality recording of this sketch, broadcast on <a href="/wiki/WTTW" title="WTTW">WTTW</a> in Chicago, has also turned up on YouTube.<sup id="cite_ref-29" class="reference"><a href="#cite_note-29">&#91;29&#93;</a></sup> The Buffalo version can be seen as an extra on the new <a href="/wiki/DVD_region_code#2" title="DVD region code">Region 2</a>/<a href="/wiki/DVD_Region_code" class="mw-redirect" title="DVD Region code">4</a> eight-disc <i>The Complete Monty Python\'s Flying Circus</i> DVD set.<sup class="noprint Inline-Template Template-Fact" style="white-space:nowrap;">&#91;<i><a href="/wiki/Wikipedia:Citation_needed" title="Wikipedia:Citation needed"><span title="This claim needs references to reliable sources. (March 2012)">citation needed</span></a></i>&#93;</sup> The <a href="/wiki/DVD_region_code#1" title="DVD region code">Region 1</a> DVD of <i>Before The Flying Circus</i>, which is included in <i>The Complete Monty Python\'s Flying Circus Collector\'s Edition Megaset</i> and <i>Monty Python: The Other British Invasion</i>, also contains the Buffalo version as an extra.<sup id="cite_ref-30" class="reference"><a href="#cite_note-30">&#91;30&#93;</a></sup>\n</p><p>Another lost sketch is the "Satan" animation following the "Crackpot Religion" piece and the "Cartoon Religion Ltd" animation, and preceding the "<a href="/wiki/How_Not_To_Be_Seen" class="mw-redirect" title="How Not To Be Seen">How Not To Be Seen</a>" sketch: this had been edited out of the official tape. Six frames of the animation can be seen at the end of the episode, wherein that particular episode is repeated in fast-forward. A black and white 16&#160;mm film print has since turned up (found by a private film collector in the US) showing the animation in its entirety.\n</p><p>At least two references to cancer were censored, both during the second series. In the sixth episode ("It\'s A Living" or "School Prizes"), <a href="/wiki/Carol_Cleveland" title="Carol Cleveland">Carol Cleveland</a>\'s narration of a Gilliam cartoon suddenly has a male voice dub \'<a href="/wiki/Gangrene" title="Gangrene">gangrene</a>\' over the word cancer (although this word was used unedited when the animation appeared in the movie <i><a href="/wiki/And_Now_for_Something_Completely_Different" title="And Now for Something Completely Different">And Now for Something Completely Different</a></i>; the 2006 special <i><a href="/wiki/Monty_Python%27s_Personal_Best" title="Monty Python&#39;s Personal Best">Terry Gilliam\'s Personal Best</a></i> uses this audio to restore the censored line). Another reference was removed from the sketch "Conquistador Coffee Campaign", in the eleventh episode "How Not to Be Seen", although a reference to <a href="/wiki/Leprosy" title="Leprosy">leprosy</a> remained intact. This line has also been recovered from the same 16&#160;mm film print as the above-mentioned "Satan" animation.\n</p><p>A sketch from Episode 7 of Series 2 (subtitled \'The Attila the Hun Show\') featured a parody of <a href="/wiki/Michael_Miles" title="Michael Miles">Michael Miles</a>, the 1960s TV <a href="/wiki/Game_show" title="Game show">game show</a> host (played by Cleese), and was introduced as \'Spot The Braincell\'. This sketch was deleted shortly afterwards from a repeat broadcast as a mark of respect following Miles\' death in February 1971. Also, the controversial "Undertaker" sketch from Episode 13 of the same series was removed by the BBC after negative reviewer response. Both of these sketches have been restored to the official tapes, although the only source for the Undertaker sketch was an NTSC copy of the episode, duplicated before the cut had been made.\n</p><p>Animation in episode 9 of series 3 was cut out following the initial broadcast. The animation was a parody of a German commercial, and the original owners complained about the music use, so the BBC simply removed part of the animation, and replaced the music with a song from a Python album. Terry Gilliam later complained about the cut, thinking it was because producer Ian McNaughton "just didn\'t get what it was and he cut it. That was a big mistake."<sup id="cite_ref-31" class="reference"><a href="#cite_note-31">&#91;31&#93;</a></sup>\n</p><p>Music copyright issues have resulted in at least two cuts. In episode 209, Graham Chapman as a Pepperpot sings "<a href="/wiki/The_Girl_from_Ipanema" title="The Girl from Ipanema">The Girl from Ipanema</a>", but some versions use "<a href="/wiki/Jeanie_with_the_Light_Brown_Hair" title="Jeanie with the Light Brown Hair">Jeanie with the Light Brown Hair</a>", which is public domain. In the bus conductor sketch in episode 312, a brief parody of "<a href="/wiki/Tonight_(1956_song)" class="mw-redirect" title="Tonight (1956 song)">Tonight</a>" from <i>West Side Story</i> has been removed from recent releases. There have also been reports of substituting different performances of classical music in some uses, presumably because of performance royalties.\n</p><p>A Region 2 DVD release of Series 1–4 was released by Sony in 2007. This included certain things which had been cut from the US A&amp;E releases, including the "masturbation" line, but failed to reinstate most of the long-lost sketches and edits. A Blu-ray release of the series featuring every episode restored to its original uncut broadcast length was released by Network for the show\'s 50th anniversary in 2019.<sup id="cite_ref-32" class="reference"><a href="#cite_note-32">&#91;32&#93;</a></sup>\n</p><p>Rediscovered sketch Ursula Hitler, once deemed impossible to find, was rereleased with the 50th issue in 2019.<sup id="cite_ref-33" class="reference"><a href="#cite_note-33">&#91;33&#93;</a></sup>\n</p>\n<h3><span class="mw-headline" id="American_television">American television</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Monty_Python%27s_Flying_Circus&amp;action=edit&amp;section=18" title="Edit section: American television">edit</a><span class="mw-editsection-bracket">]</span></span></h3>\n<p>At the time of the original broadcasting of <i>Monty Python</i> in the United Kingdom, the BBC used <a href="/wiki/Time-Life_Television" class="mw-redirect" title="Time-Life Television">Time-Life Television</a> to distribute its shows in the United States. For <i>Monty Python</i>, Time-Life had been concerned that the show was "too British" in its humour to reach American audiences, and did not opt to bring the programme across.<sup id="cite_ref-new_yorker_1976_34-0" class="reference"><a href="#cite_note-new_yorker_1976-34">&#91;34&#93;</a></sup> However, the show became a fixture on the <a href="/wiki/Canadian_Broadcasting_Corporation" title="Canadian Broadcasting Corporation">Canadian Broadcasting Corporation</a> beginning in the fall of 1970, and hence was also seen in some American markets.<sup id="cite_ref-FlyingCircusCanada_35-0" class="reference"><a href="#cite_note-FlyingCircusCanada-35">&#91;35&#93;</a></sup>\n</p><p>The Python\'s first film, <i><a href="/wiki/And_Now_for_Something_Completely_Different" title="And Now for Something Completely Different">And Now for Something Completely Different</a></i>, a selection of skits from the show released in the UK in 1971 and in the United States in 1972, was not a hit in the USA.<sup id="cite_ref-new_yorker_1976_34-1" class="reference"><a href="#cite_note-new_yorker_1976-34">&#91;34&#93;</a></sup> During their first North American tour in 1973, the Pythons performed twice on US television, firstly on <i><a href="/wiki/The_Tonight_Show" title="The Tonight Show">The Tonight Show</a></i>, hosted by Joey Bishop, and then on <i><a href="/wiki/The_Midnight_Special_(TV_series)" title="The Midnight Special (TV series)">The Midnight Special</a></i>. The group spoke of how badly the first appearance went down with the audience; Idle described <i>The Tonight Show</i> performance: "We did thirty minutes [thirty minutes\' worth of material] in fifteen minutes to no laughs whatsoever. We ran out onto the green grass in Burbank and we lay down and laughed for 15 minutes because it was the funniest thing ever. In America they didn’t know what on earth we were talking about."<sup id="cite_ref-Teod_36-0" class="reference"><a href="#cite_note-Teod-36">&#91;36&#93;</a></sup>\n</p><p>Despite the poor reception on their live appearances on American television, the Pythons\' American manager, Nancy Lewis, began to push the show herself into the States. In 1974, the <a href="/wiki/PBS" title="PBS">PBS</a> member station <a href="/wiki/KERA-TV" title="KERA-TV">KERA</a> in <a href="/wiki/Dallas" title="Dallas">Dallas</a> was the first television station in the United States to broadcast episodes of <i>Monty Python\'s Flying Circus</i>, and is often credited with introducing the programme to American audiences.<sup id="cite_ref-dallas_news_37-0" class="reference"><a href="#cite_note-dallas_news-37">&#91;37&#93;</a></sup> Many other PBS stations acquired the show, and by 1975, it was often the most popular show on these stations.<sup id="cite_ref-new_yorker_1976_34-2" class="reference"><a href="#cite_note-new_yorker_1976-34">&#91;34&#93;</a></sup> <i>And Now for Something Completely Different</i> was re-released to American theaters in 1974 and had a much better box office take that time. That would also set the stage for the Pythons\' next film, <i><a href="/wiki/Monty_Python_and_the_Holy_Grail" title="Monty Python and the Holy Grail">Monty Python and the Holy Grail</a></i>, released near simultaneously in the UK and the United States in April 1975, to also perform well in American theaters.<sup id="cite_ref-Teod_36-1" class="reference"><a href="#cite_note-Teod-36">&#91;36&#93;</a></sup><sup id="cite_ref-38" class="reference"><a href="#cite_note-38">&#91;38&#93;</a></sup> The popularity of <i>Monty Python\'s Flying Circus</i> helped to open the door for other British television series to make their way into the United States via PBS and its member stations.<sup id="cite_ref-StewartStewart1999_39-0" class="reference"><a href="#cite_note-StewartStewart1999-39">&#91;39&#93;</a></sup> One notable American fan of <i>Monty Python</i> was singer <a href="/wiki/Elvis_Presley" title="Elvis Presley">Elvis Presley</a>. Billy Smith, Presley\'s cousin noted that during the last few months of Elvis\' life in 1977, when Elvis was addicted to prescription drugs and mainly confined to his bedroom at his mansion <a href="/wiki/Graceland" title="Graceland">Graceland</a>, Elvis would sit at his room and chat with Smith for hours about various topics including among other things, Presley\'s favourite <i>Monty Python</i> sketches.<sup id="cite_ref-FOOTNOTEGuralnick1999212,_642_40-0" class="reference"><a href="#cite_note-FOOTNOTEGuralnick1999212,_642-40">&#91;40&#93;</a></sup>\n</p><p>With the rise in American popularity, the <a href="/wiki/American_Broadcasting_Company" title="American Broadcasting Company">ABC</a> network acquired rights to show select episodes of <i>Monty Python\'s Flying Circus</i> in their <i><a href="/wiki/Wide_World_of_Entertainment" class="mw-redirect" title="Wide World of Entertainment">Wide World of Entertainment</a></i> showcase in mid 1975. However, ABC re-edited the episodes, thus losing the continuity and flow intended in the originals. When ABC refused to stop treating the series in this way, the Pythons took them to court. Initially the court ruled that their artistic rights had indeed been violated, but it refused to stop the ABC broadcasts. However, on appeal the team gained control over all subsequent US broadcasts of its programmes.<sup id="cite_ref-41" class="reference"><a href="#cite_note-41">&#91;41&#93;</a></sup><sup id="cite_ref-new_yorker_1976_34-3" class="reference"><a href="#cite_note-new_yorker_1976-34">&#91;34&#93;</a></sup> The case also led to their gaining the master tapes of the series from the BBC, once their original contracts ended at the end of 1980.\n</p><p>The show also aired on <a href="/wiki/MTV" title="MTV">MTV</a> in 1988.<sup id="cite_ref-42" class="reference"><a href="#cite_note-42">&#91;42&#93;</a></sup> <i>Monty Python</i> was part of a two-hour comedy block on Sunday nights that also included another BBC series, <i><a href="/wiki/The_Young_Ones_(TV_series)" title="The Young Ones (TV series)">The Young Ones</a></i>.\n</p><p>In April 2006, <i>Monty Python\'s Flying Circus</i> returned to non-cable American television directly through PBS. In connection with this, PBS commissioned <i><a href="/wiki/Monty_Python%27s_Personal_Best" title="Monty Python&#39;s Personal Best">Monty Python\'s Personal Best</a></i>, a six-episode series featuring each Python’s favourite sketches, plus a tribute to Chapman, who died in 1989. <a href="/wiki/BBC_America" title="BBC America">BBC America</a> has aired the series on a sporadic basis since the mid-2000s, in an extended 40-minute time slot in order to include commercials. <a href="/wiki/IFC_(American_TV_channel)" title="IFC (American TV channel)">IFC</a> acquired the rights to the show in 2009, though not exclusive, as BBC America still airs occasional episodes of the show. IFC also presented a six-part documentary <i><a href="/wiki/Monty_Python:_Almost_the_Truth_(The_Lawyers_Cut)" class="mw-redirect" title="Monty Python: Almost the Truth (The Lawyers Cut)">Monty Python: Almost the Truth (The Lawyers Cut)</a></i>, produced by Terry Jones\'s son Bill.\n</p>\n<h2><span class="mw-headline" id="Subsequent_projects">Subsequent projects</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Monty_Python%27s_Flying_Circus&amp;action=edit&amp;section=19" title="Edit section: Subsequent projects">edit</a><span class="mw-editsection-bracket">]</span></span></h2>\n<link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1033289096"/><div role="note" class="hatnote navigation-not-searchable">Main articles: <a href="/wiki/Monty_Python#Life_beyond_the_Flying_Circus" title="Monty Python">Monty Python §&#160;Life beyond the Flying Circus</a>, and <a href="/wiki/List_of_Monty_Python_projects" title="List of Monty Python projects">List of Monty Python projects</a></div>\n<h3><span class="mw-headline" id="Live_shows_with_original_cast">Live shows with original cast</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Monty_Python%27s_Flying_Circus&amp;action=edit&amp;section=20" title="Edit section: Live shows with original cast">edit</a><span class="mw-editsection-bracket">]</span></span></h3>\n<p>The members of Monty Python embarked on a series of stage shows during and after the television series. These mostly consisted of sketches from the series, though they also revived material which predated it. One such sketch was the <a href="/wiki/Four_Yorkshiremen_sketch" title="Four Yorkshiremen sketch">Four Yorkshiremen sketch</a>, written by Cleese and Chapman with <a href="/wiki/Marty_Feldman" title="Marty Feldman">Marty Feldman</a> and <a href="/wiki/Tim_Brooke-Taylor" title="Tim Brooke-Taylor">Tim Brooke-Taylor</a>, and originally performed for <i><a href="/wiki/At_Last_the_1948_Show" title="At Last the 1948 Show">At Last the 1948 Show</a></i>; the sketch subsequently became part of the live Python repertoire. The shows also included songs from collaborator <a href="/wiki/Neil_Innes" title="Neil Innes">Neil Innes</a>.\n</p><p>Recordings of four of these stage shows have subsequently appeared as separate works:\n</p>\n<ol><li><a href="/wiki/Monty_Python_Live_at_Drury_Lane" class="mw-redirect" title="Monty Python Live at Drury Lane">Monty Python Live at Drury Lane</a> (aka Monty Python Live at the Theatre Royal, Drury Lane), released in the UK in 1974 as their fifth record album</li>\n<li><a href="/wiki/Monty_Python_Live_at_City_Center" title="Monty Python Live at City Center">Monty Python Live at City Center</a>, performed in New York City and released as a record in 1976 in the US</li>\n<li><a href="/wiki/Monty_Python_Live_at_the_Hollywood_Bowl" title="Monty Python Live at the Hollywood Bowl">Monty Python Live at the Hollywood Bowl</a>, recorded in Los Angeles in 1980 and released as a film in 1982</li>\n<li><a href="/wiki/Monty_Python_Live_(Mostly)" title="Monty Python Live (Mostly)">Monty Python Live (Mostly): One Down, Five to Go</a>, the troupe\'s reunion / farewell show, ran for 10 shows at <a href="/wiki/The_O2_Arena" title="The O2 Arena">The O2 Arena</a> in London in July 2014. The final performance on 20 July was live streamed to cinemas worldwide. A re-edited version was later released on Blu-ray, DVD and double Compact Disc; the CD version is exclusive to the deluxe version of the release which contains all 3 formats on four discs housed in a 60-page hardback book.</li></ol>\n<p>Graham Chapman and Michael Palin also performed on stage at the <a href="/wiki/Concerts_at_Knebworth_House" class="mw-redirect" title="Concerts at Knebworth House">Knebworth Festival</a> in 1975 with <a href="/wiki/Pink_Floyd" title="Pink Floyd">Pink Floyd</a>.<sup id="cite_ref-43" class="reference"><a href="#cite_note-43">&#91;43&#93;</a></sup>\n</p>\n<h3><span class="mw-headline" id="French_adaptation">French adaptation</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Monty_Python%27s_Flying_Circus&amp;action=edit&amp;section=21" title="Edit section: French adaptation">edit</a><span class="mw-editsection-bracket">]</span></span></h3>\n<p>In 2005, a troupe of actors headed by Rémy Renoux translated and "adapted" a stage version of <i>Monty Python’s Flying Circus</i> into French. Usually the original actors defended their material very closely, but given in this case the "adaptation" and also the translation into French (with subtitles), the group supported this production. The adapted material largely adhered to the original text, primarily deviating when it came to ending a sketch, something the Python members themselves changed many times over the course of their stage performances.<sup id="cite_ref-44" class="reference"><a href="#cite_note-44">&#91;44&#93;</a></sup><sup id="cite_ref-45" class="reference"><a href="#cite_note-45">&#91;45&#93;</a></sup>\nLanguage differences also occur in the lyrics of several songs. For example, "<a href="/wiki/Sit_on_My_Face" title="Sit on My Face">Sit on My Face</a>" (which translated into French would be "Asseyez-vous sur mon visage") becomes "cum in my mouth".<sup id="cite_ref-46" class="reference"><a href="#cite_note-46">&#91;46&#93;</a></sup>\n</p>\n<h2><span class="mw-headline" id="Reception">Reception</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Monty_Python%27s_Flying_Circus&amp;action=edit&amp;section=22" title="Edit section: Reception">edit</a><span class="mw-editsection-bracket">]</span></span></h2>\n<h3><span class="mw-headline" id="Awards_and_honours">Awards and honours</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Monty_Python%27s_Flying_Circus&amp;action=edit&amp;section=23" title="Edit section: Awards and honours">edit</a><span class="mw-editsection-bracket">]</span></span></h3>\n<table class="wikitable">\n\n<tbody><tr>\n<th>Year</th>\n<th>Award</th>\n<th>Category</th>\n<th>Nominee(s)</th>\n<th>Result\n</th></tr>\n<tr>\n<td rowspan="5">1970</td>\n<td rowspan="10"><a href="/wiki/BAFTA_TV_Award" class="mw-redirect" title="BAFTA TV Award">BAFTA TV Award</a></td>\n<td rowspan="2">Special Award</td>\n<td><i>Monty Python\'s Flying Circus</i><br /><span style="font-size:85%;">For the production, writing and performances.</span></td>\n<td style="background: #9EFF9E; color: #000; vertical-align: middle; text-align: center;" class="yes table-yes2">Won\n</td></tr>\n<tr>\n<td><a href="/wiki/Terry_Gilliam" title="Terry Gilliam">Terry Gilliam</a><br /><span style="font-size:85%;">For the graphics.</span></td>\n<td style="background: #9EFF9E; color: #000; vertical-align: middle; text-align: center;" class="yes table-yes2">Won\n</td></tr>\n<tr>\n<td>Best Light Entertainment</td>\n<td><a href="/wiki/John_Howard_Davies" title="John Howard Davies">John Howard Davies</a><br /><a href="/wiki/Ian_MacNaughton" title="Ian MacNaughton">Ian MacNaughton</a></td>\n<td style="background: #FFE3E3; color: black; vertical-align: middle; text-align: center;" class="no table-no2">Nominated\n</td></tr>\n<tr>\n<td>Best Light Entertainment Personality</td>\n<td><a href="/wiki/John_Cleese" title="John Cleese">John Cleese</a></td>\n<td style="background: #FFE3E3; color: black; vertical-align: middle; text-align: center;" class="no table-no2">Nominated\n</td></tr>\n<tr>\n<td>Best Script</td>\n<td>Writing Team</td>\n<td style="background: #FFE3E3; color: black; vertical-align: middle; text-align: center;" class="no table-no2">Nominated\n</td></tr>\n<tr>\n<td rowspan="2">1971</td>\n<td>Best Light Entertainment Performance</td>\n<td>John Cleese</td>\n<td style="background: #FFE3E3; color: black; vertical-align: middle; text-align: center;" class="no table-no2">Nominated\n</td></tr>\n<tr>\n<td>Best Light Entertainment Production</td>\n<td>Ian MacNaughton</td>\n<td style="background: #FFE3E3; color: black; vertical-align: middle; text-align: center;" class="no table-no2">Nominated\n</td></tr>\n<tr>\n<td rowspan="2">1973</td>\n<td>Best Light Entertainment Performance</td>\n<td><a href="/wiki/Monty_Python" title="Monty Python">Monty Python</a></td>\n<td style="background: #FFE3E3; color: black; vertical-align: middle; text-align: center;" class="no table-no2">Nominated\n</td></tr>\n<tr>\n<td>Best Light Entertainment Programme</td>\n<td>Ian MacNaughton</td>\n<td style="background: #9EFF9E; color: #000; vertical-align: middle; text-align: center;" class="yes table-yes2">Won\n</td></tr>\n<tr>\n<td>1975</td>\n<td>Best Light Entertainment Programme</td>\n<td>Ian MacNaughton</td>\n<td style="background: #FFE3E3; color: black; vertical-align: middle; text-align: center;" class="no table-no2">Nominated\n</td></tr>\n<tr>\n<td>2008</td>\n<td>Online Film &amp; Television Association Awards</td>\n<td>OFTA TV Hall of Fame</td>\n<td><i>Monty Python\'s Flying Circus</i></td>\n<td style="background: #9EFF9E; color: #000; vertical-align: middle; text-align: center;" class="yes table-yes2">Won\n</td></tr></tbody></table>\n<p><i>Monty Python\'s Flying Circus</i> placed fifth on a list of the <a href="/wiki/BFI_TV_100" title="BFI TV 100">BFI TV 100</a>, drawn up by the <a href="/wiki/British_Film_Institute" title="British Film Institute">British Film Institute</a> in 2000, and voted for by industry professionals.\n</p><p><i><a href="/wiki/Time_(magazine)" title="Time (magazine)">Time</a></i> magazine included the show on its 2007 list of the "100 Best TV Shows of All Time".<sup id="cite_ref-47" class="reference"><a href="#cite_note-47">&#91;47&#93;</a></sup>\n</p><p>In a list of the 50 Greatest British Sketches released by <a href="/wiki/Channel_4" title="Channel 4">Channel 4</a> in 2005, five Monty Python sketches made the list:<sup id="cite_ref-48" class="reference"><a href="#cite_note-48">&#91;48&#93;</a></sup>\n</p>\n<ul><li>#2 – <a href="/wiki/Dead_Parrot" class="mw-redirect" title="Dead Parrot">Dead Parrot</a></li>\n<li>#12 – <a href="/wiki/The_Spanish_Inquisition_(Monty_Python)" title="The Spanish Inquisition (Monty Python)">The Spanish Inquisition</a></li>\n<li>#15 – <a href="/wiki/Ministry_of_Silly_Walks" class="mw-redirect" title="Ministry of Silly Walks">Ministry of Silly Walks</a></li>\n<li>#31 – <a href="/wiki/Nudge_Nudge" title="Nudge Nudge">Nudge Nudge</a></li>\n<li>#49 – <a href="/wiki/The_Lumberjack_Song" title="The Lumberjack Song">The Lumberjack Song</a></li></ul>\n<p>In 2004<sup id="cite_ref-49" class="reference"><a href="#cite_note-49">&#91;49&#93;</a></sup> and 2007, <i>Monty Python\'s Flying Circus</i> was ranked #5 and #6 on TV Guide\'s Top Cult Shows Ever.<sup id="cite_ref-50" class="reference"><a href="#cite_note-50">&#91;50&#93;</a></sup>\n</p><p>In 2013, the programme was ranked #58 on TV Guide\'s list of the 60 Best Series of All Time.<sup id="cite_ref-51" class="reference"><a href="#cite_note-51">&#91;51&#93;</a></sup>\n</p>\n<h3><span class="mw-headline" id="Legacy">Legacy</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Monty_Python%27s_Flying_Circus&amp;action=edit&amp;section=24" title="Edit section: Legacy">edit</a><span class="mw-editsection-bracket">]</span></span></h3>\n<link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1033289096"/><div role="note" class="hatnote navigation-not-searchable">Main article: <a href="/wiki/Monty_Python#Cultural_influence_and_legacy" title="Monty Python">Monty Python §&#160;Cultural influence and legacy</a></div>\n<p><a href="/wiki/Douglas_Adams" title="Douglas Adams">Douglas Adams</a>, creator of <i><a href="/wiki/The_Hitchhiker%27s_Guide_to_the_Galaxy" title="The Hitchhiker&#39;s Guide to the Galaxy">The Hitchhiker\'s Guide to the Galaxy</a></i> and co-writer of the "<a href="/wiki/Patient_Abuse" title="Patient Abuse">Patient Abuse</a>" sketch, once said "I loved Monty Python\'s Flying Circus. For years I wanted to be John Cleese, I was most disappointed when I found out the job had been taken."<sup id="cite_ref-52" class="reference"><a href="#cite_note-52">&#91;52&#93;</a></sup>\n</p><p><a href="/wiki/Lorne_Michaels" title="Lorne Michaels">Lorne Michaels</a> counts the show as a major influence on his <i><a href="/wiki/Saturday_Night_Live" title="Saturday Night Live">Saturday Night Live</a></i> sketches.<sup id="cite_ref-53" class="reference"><a href="#cite_note-53">&#91;53&#93;</a></sup> Cleese and Palin re-enacted the <a href="/wiki/Dead_Parrot_sketch" title="Dead Parrot sketch">Dead Parrot sketch</a> on <i>SNL</i> in 1997.\n</p><p>The show was a major influence on the Danish <a href="/wiki/Cult_following" title="Cult following">cult</a> sketch show <i><a href="/wiki/Casper_%26_Mandrilaftalen" title="Casper &amp; Mandrilaftalen">Casper &amp; Mandrilaftalen</a></i> (1999)<sup id="cite_ref-54" class="reference"><a href="#cite_note-54">&#91;54&#93;</a></sup> and Cleese starred in its 50th episode.<sup id="cite_ref-dfi-mandrillen_55-0" class="reference"><a href="#cite_note-dfi-mandrillen-55">&#91;55&#93;</a></sup><sup id="cite_ref-56" class="reference"><a href="#cite_note-56">&#91;56&#93;</a></sup>\n</p><p>In computing, the term <a href="/wiki/Spam_(electronic)" class="mw-redirect" title="Spam (electronic)">spam</a> and the name of the <a href="/wiki/Python_(programming_language)" title="Python (programming language)">Python programming language</a><sup id="cite_ref-57" class="reference"><a href="#cite_note-57">&#91;57&#93;</a></sup> are both derived from the series.\n</p>\n<h2><span class="mw-headline" id="See_also">See also</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Monty_Python%27s_Flying_Circus&amp;action=edit&amp;section=25" title="Edit section: See also">edit</a><span class="mw-editsection-bracket">]</span></span></h2>\n<ul><li><i><a href="/wiki/At_Last_the_1948_Show" title="At Last the 1948 Show">At Last the 1948 Show</a></i></li>\n<li><i><a href="/wiki/Do_Not_Adjust_Your_Set" title="Do Not Adjust Your Set">Do Not Adjust Your Set</a></i></li></ul>\n<h2><span class="mw-headline" id="References">References</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Monty_Python%27s_Flying_Circus&amp;action=edit&amp;section=26" title="Edit section: References">edit</a><span class="mw-editsection-bracket">]</span></span></h2>\n<p><b>Notes</b>\n</p>\n<style data-mw-deduplicate="TemplateStyles:r1011085734">.mw-parser-output .reflist{font-size:90%;margin-bottom:0.5em;list-style-type:decimal}.mw-parser-output .reflist .references{font-size:100%;margin-bottom:0;list-style-type:inherit}.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}.mw-parser-output .reflist-columns{margin-top:0.3em}.mw-parser-output .reflist-columns ol{margin-top:0}.mw-parser-output .reflist-columns li{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-output .reflist-upper-alpha{list-style-type:upper-alpha}.mw-parser-output .reflist-upper-roman{list-style-type:upper-roman}.mw-parser-output .reflist-lower-alpha{list-style-type:lower-alpha}.mw-parser-output .reflist-lower-greek{list-style-type:lower-greek}.mw-parser-output .reflist-lower-roman{list-style-type:lower-roman}</style><div class="reflist reflist-columns references-column-width" style="column-width: 30em;">\n<ol class="references">\n<li id="cite_note-telegraph-1"><span class="mw-cite-backlink"><b><a href="#cite_ref-telegraph_1-0">^</a></b></span> <span class="reference-text"><style data-mw-deduplicate="TemplateStyles:r1067248974">.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\\"""\\"""\'""\'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free a,.mw-parser-output .citation .cs1-lock-free a{background:linear-gradient(transparent,transparent),url("//upload.wikimedia.org/wikipedia/commons/6/65/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited a,.mw-parser-output .id-lock-registration a,.mw-parser-output .citation .cs1-lock-limited a,.mw-parser-output .citation .cs1-lock-registration a{background:linear-gradient(transparent,transparent),url("//upload.wikimedia.org/wikipedia/commons/d/d6/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription a,.mw-parser-output .citation .cs1-lock-subscription a{background:linear-gradient(transparent,transparent),url("//upload.wikimedia.org/wikipedia/commons/a/aa/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:linear-gradient(transparent,transparent),url("//upload.wikimedia.org/wikipedia/commons/4/4c/Wikisource-logo.svg")right 0.1em center/12px no-repeat}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:#d33}.mw-parser-output .cs1-visible-error{color:#d33}.mw-parser-output .cs1-maint{display:none;color:#3a3;margin-left:0.3em}.mw-parser-output .cs1-format{font-size:95%}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}</style><cite class="citation news cs1"><span class="cs1-lock-subscription" title="Paid subscription required"><a rel="nofollow" class="external text" href="https://www.telegraph.co.uk/obituaries/2016/08/02/fred-tomlinson-singer-on-monty-python--obituary/">"Fred Tomlinson, singer on Monty Python – obituary"</a></span>. <i><a href="/wiki/The_Daily_Telegraph" title="The Daily Telegraph">The Daily Telegraph</a></i>. 2 August 2016. <a rel="nofollow" class="external text" href="https://ghostarchive.org/archive/20220112/https://www.telegraph.co.uk/obituaries/2016/08/02/fred-tomlinson-singer-on-monty-python--obituary/">Archived</a> from the original on 12 January 2022<span class="reference-accessdate">. Retrieved <span class="nowrap">15 August</span> 2016</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.jtitle=The+Daily+Telegraph&amp;rft.atitle=Fred+Tomlinson%2C+singer+on+Monty+Python+%E2%80%93+obituary&amp;rft.date=2016-08-02&amp;rft_id=https%3A%2F%2Fwww.telegraph.co.uk%2Fobituaries%2F2016%2F08%2F02%2Ffred-tomlinson-singer-on-monty-python--obituary%2F&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMonty+Python%27s+Flying+Circus" class="Z3988"></span></span>\n</li>\n<li id="cite_note-nytimes-2"><span class="mw-cite-backlink"><b><a href="#cite_ref-nytimes_2-0">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1067248974"/><cite id="CITEREFSlotnik2016" class="citation news cs1">Slotnik, Daniel E. (4 August 2016). <a rel="nofollow" class="external text" href="https://www.nytimes.com/2016/08/05/arts/television/fred-tomlinson-monty-python-singer-dies-at-88.html?_r=0">"Fred Tomlinson, Singer Who Led a \'Monty Python\' Troupe, Dies at 88"</a>. <i><a href="/wiki/New_York_Times" class="mw-redirect" title="New York Times">New York Times</a></i><span class="reference-accessdate">. Retrieved <span class="nowrap">15 August</span> 2016</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.jtitle=New+York+Times&amp;rft.atitle=Fred+Tomlinson%2C+Singer+Who+Led+a+%27Monty+Python%27+Troupe%2C+Dies+at+88&amp;rft.date=2016-08-04&amp;rft.aulast=Slotnik&amp;rft.aufirst=Daniel+E.&amp;rft_id=https%3A%2F%2Fwww.nytimes.com%2F2016%2F08%2F05%2Farts%2Ftelevision%2Ffred-tomlinson-monty-python-singer-dies-at-88.html%3F_r%3D0&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMonty+Python%27s+Flying+Circus" class="Z3988"></span></span>\n</li>\n<li id="cite_note-3"><span class="mw-cite-backlink"><b><a href="#cite_ref-3">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://books.google.com/books?id=nlDOICBmhbkC&amp;pg=PA1295&amp;lpg=PA1295&amp;dq=band+of+the+grenadier+guards+monty+python%27s+flying+circus+the+liberty+bell&amp;source=bl&amp;ots=304YKKuc2Q&amp;sig=z-YMEIxEKJn3XdYqXnV8nQvLlQQ&amp;hl=en&amp;sa=X&amp;ved=0ahUKEwib8eyoz5_ZAhUIzIMKHZYlBMMQ6AEIfDAT#v=onepage&amp;q=band%20of%20the%20grenadier%20guards%20monty%20python&#39;s%20flying%20circus%20the%20liberty%20bell&amp;f=false"><i>All Music Guide to Classical Music: The Definitive Guide to Classical Music</i>. San Francisco, CA: Backbeat Books, 2005.</a> Retrieved February 11, 2018</span>\n</li>\n<li id="cite_note-4"><span class="mw-cite-backlink"><b><a href="#cite_ref-4">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://www.theguardian.com/music/musicblog/2014/jul/11/monty-python-and-classical-music">Clark, Philip. "Monty Python: Sousa, two-sheds and musical subversions," <i>The Guardian</i>, Friday, July 11, 2014.</a> Retrieved February 12, 2018</span>\n</li>\n<li id="cite_note-5"><span class="mw-cite-backlink"><b><a href="#cite_ref-5">^</a></b></span> <span class="reference-text">The term <i>flying circus</i> first being applied to Baron von Richthofen\'s <a href="/wiki/Jagdgeschwader_1_(World_War_1)" class="mw-redirect" title="Jagdgeschwader 1 (World War 1)">Jagdgeschwader&#160;1</a>.</span>\n</li>\n<li id="cite_note-Palin_2008_650-6"><span class="mw-cite-backlink">^ <a href="#cite_ref-Palin_2008_650_6-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-Palin_2008_650_6-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1067248974"/><cite id="CITEREFPalin2008" class="citation book cs1">Palin, Michael (2008). <i>Diaries 1969–1979&#160;: the Python Years / Michael Palin</i>. Griffin. p.&#160;650. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/978-0-312-38488-3" title="Special:BookSources/978-0-312-38488-3"><bdi>978-0-312-38488-3</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Diaries+1969%E2%80%931979+%3A+the+Python+Years+%2F+Michael+Palin&amp;rft.pages=650&amp;rft.pub=Griffin&amp;rft.date=2008&amp;rft.isbn=978-0-312-38488-3&amp;rft.aulast=Palin&amp;rft.aufirst=Michael&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMonty+Python%27s+Flying+Circus" class="Z3988"></span></span>\n</li>\n<li id="cite_note-7"><span class="mw-cite-backlink"><b><a href="#cite_ref-7">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1067248974"/><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.youtube.com/watch?v=JpL12ilpDnQ&amp;t=6m20s">"Live At Aspen"</a><span class="reference-accessdate">. Retrieved <span class="nowrap">10 January</span> 2013</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=Live+At+Aspen&amp;rft_id=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DJpL12ilpDnQ%26t%3D6m20s&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMonty+Python%27s+Flying+Circus" class="Z3988"></span><sup class="noprint Inline-Template"><span style="white-space: nowrap;">&#91;<i><a href="/wiki/Wikipedia:Link_rot" title="Wikipedia:Link rot"><span title="&#160;Dead YouTube link tagged February 2022">dead YouTube link</span></a></i>&#93;</span></sup></span>\n</li>\n<li id="cite_note-FOOTNOTELarsen200813-8"><span class="mw-cite-backlink"><b><a href="#cite_ref-FOOTNOTELarsen200813_8-0">^</a></b></span> <span class="reference-text"><a href="#CITEREFLarsen2008">Larsen 2008</a>, p.&#160;13.</span>\n</li>\n<li id="cite_note-FOOTNOTELarsen2008292-9"><span class="mw-cite-backlink"><b><a href="#cite_ref-FOOTNOTELarsen2008292_9-0">^</a></b></span> <span class="reference-text"><a href="#CITEREFLarsen2008">Larsen 2008</a>, p.&#160;292.</span>\n</li>\n<li id="cite_note-FOOTNOTELarsen2008288-10"><span class="mw-cite-backlink"><b><a href="#cite_ref-FOOTNOTELarsen2008288_10-0">^</a></b></span> <span class="reference-text"><a href="#CITEREFLarsen2008">Larsen 2008</a>, p.&#160;288.</span>\n</li>\n<li id="cite_note-Gilliam_animation-11"><span class="mw-cite-backlink"><b><a href="#cite_ref-Gilliam_animation_11-0">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1067248974"/><cite class="citation news cs1"><a rel="nofollow" class="external text" href="http://www.openculture.com/2014/07/terry-gilliam-reveals-the-secrets-of-monty-python-animations.html">"Terry Gilliam Reveals the Secrets of Monty Python Animations: A 1974 How-To Guide"</a>. <i>Open Culture</i><span class="reference-accessdate">. Retrieved <span class="nowrap">18 August</span> 2019</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.jtitle=Open+Culture&amp;rft.atitle=Terry+Gilliam+Reveals+the+Secrets+of+Monty+Python+Animations%3A+A+1974+How-To+Guide&amp;rft_id=http%3A%2F%2Fwww.openculture.com%2F2014%2F07%2Fterry-gilliam-reveals-the-secrets-of-monty-python-animations.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMonty+Python%27s+Flying+Circus" class="Z3988"></span></span>\n</li>\n<li id="cite_note-12"><span class="mw-cite-backlink"><b><a href="#cite_ref-12">^</a></b></span> <span class="reference-text">Sketches "An Appeal from the Vicar of St. Loony-up-the-Cream-Bun-and-Jam", "<a href="/wiki/Colin_%22Bomber%22_Harris_vs_Colin_%22Bomber%22_Harris" title="Colin &quot;Bomber&quot; Harris vs Colin &quot;Bomber&quot; Harris">The One-Man Wrestling Match</a>", "Johann Gambolputty..." and "<a href="/wiki/Argument_Clinic" title="Argument Clinic">Argument Clinic</a>"</span>\n</li>\n<li id="cite_note-13"><span class="mw-cite-backlink"><b><a href="#cite_ref-13">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1067248974"/><cite id="CITEREFZack_Handlen2011" class="citation book cs1">Zack Handlen (2011). <i>If You Like Monty Python...: Here Are Over 200 Movies, TV Shows and Other Oddities That You Will Love</i>. Limelight Editions. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/9780879104320" title="Special:BookSources/9780879104320"><bdi>9780879104320</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=If+You+Like+Monty+Python...%3A+Here+Are+Over+200+Movies%2C+TV+Shows+and+Other+Oddities+That+You+Will+Love&amp;rft.pub=Limelight+Editions&amp;rft.date=2011&amp;rft.isbn=9780879104320&amp;rft.au=Zack+Handlen&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMonty+Python%27s+Flying+Circus" class="Z3988"></span></span>\n</li>\n<li id="cite_note-14"><span class="mw-cite-backlink"><b><a href="#cite_ref-14">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1067248974"/><cite id="CITEREFChapmanCleeseGilliamIdle1989" class="citation book cs1">Chapman, Graham; Cleese, John; Gilliam, Terry; Idle, Eric; Jones, Terry; Palin, Michael (1989).  Wilmut, Roger (ed.). <i>The Complete Monty Python\'s Flying Circus: All the Words, Volume One</i>. New York, New York: Pantheon Books. p.&#160;320 (Appendix). <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/0-679-72647-0" title="Special:BookSources/0-679-72647-0"><bdi>0-679-72647-0</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=The+Complete+Monty+Python%27s+Flying+Circus%3A+All+the+Words%2C+Volume+One&amp;rft.place=New+York%2C+New+York&amp;rft.pages=320+%28Appendix%29&amp;rft.pub=Pantheon+Books&amp;rft.date=1989&amp;rft.isbn=0-679-72647-0&amp;rft.aulast=Chapman&amp;rft.aufirst=Graham&amp;rft.au=Cleese%2C+John&amp;rft.au=Gilliam%2C+Terry&amp;rft.au=Idle%2C+Eric&amp;rft.au=Jones%2C+Terry&amp;rft.au=Palin%2C+Michael&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMonty+Python%27s+Flying+Circus" class="Z3988"></span></span>\n</li>\n<li id="cite_note-15"><span class="mw-cite-backlink"><b><a href="#cite_ref-15">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1067248974"/><cite id="CITEREFSean_Adams2017" class="citation book cs1">Sean Adams (2017). <i>The Designer\'s Dictionary of Color</i>. Abrams. p.&#160;104. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/9781683350026" title="Special:BookSources/9781683350026"><bdi>9781683350026</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=The+Designer%27s+Dictionary+of+Color&amp;rft.pages=104&amp;rft.pub=Abrams&amp;rft.date=2017&amp;rft.isbn=9781683350026&amp;rft.au=Sean+Adams&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMonty+Python%27s+Flying+Circus" class="Z3988"></span></span>\n</li>\n<li id="cite_note-16"><span class="mw-cite-backlink"><b><a href="#cite_ref-16">^</a></b></span> <span class="reference-text">Terry Gilliam in an interview in <i><a href="/wiki/The_Comics_Journal" title="The Comics Journal">The Comics Journal</a></i> #182.</span>\n</li>\n<li id="cite_note-17"><span class="mw-cite-backlink"><b><a href="#cite_ref-17">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1067248974"/><cite id="CITEREFTerry_Gilliam2004" class="citation book cs1">Terry Gilliam (2004).  David Sterritt, Lucille Rhodes (ed.). <i>Terry Gilliam: Interviews</i> (illustrated&#160;ed.). Univ. Press of Mississippi. p.&#160;80. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/9781578066247" title="Special:BookSources/9781578066247"><bdi>9781578066247</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Terry+Gilliam%3A+Interviews&amp;rft.pages=80&amp;rft.edition=illustrated&amp;rft.pub=Univ.+Press+of+Mississippi&amp;rft.date=2004&amp;rft.isbn=9781578066247&amp;rft.au=Terry+Gilliam&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMonty+Python%27s+Flying+Circus" class="Z3988"></span></span>\n</li>\n<li id="cite_note-18"><span class="mw-cite-backlink"><b><a href="#cite_ref-18">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1067248974"/><cite id="CITEREFBob_McCabe2005" class="citation book cs1">Graham Chapman, John Cleese, Terry Gilliam, Michael Palin, Eric Idle, Terry Jones (2005).  Bob McCabe (ed.). <i>The Pythons: Autobiography</i> (illustrated&#160;ed.). Macmillan. p.&#160;14. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/9780312311452" title="Special:BookSources/9780312311452"><bdi>9780312311452</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=The+Pythons%3A+Autobiography&amp;rft.pages=14&amp;rft.edition=illustrated&amp;rft.pub=Macmillan&amp;rft.date=2005&amp;rft.isbn=9780312311452&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMonty+Python%27s+Flying+Circus" class="Z3988"></span><span class="cs1-maint citation-comment"><code class="cs1-code">{{<a href="/wiki/Template:Cite_book" title="Template:Cite book">cite book</a>}}</code>:  CS1 maint: uses authors parameter (<a href="/wiki/Category:CS1_maint:_uses_authors_parameter" title="Category:CS1 maint: uses authors parameter">link</a>)</span></span>\n</li>\n<li id="cite_note-19"><span class="mw-cite-backlink"><b><a href="#cite_ref-19">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1067248974"/><cite id="CITEREFPalin2006" class="citation book cs1"><a href="/wiki/Michael_Palin" title="Michael Palin">Palin, Michael</a> (2006). <i>Diaries 1969–1979: The Python Years</i>. Weidenfeld &amp; Nicolson. p.&#160;473.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Diaries+1969%E2%80%931979%3A+The+Python+Years&amp;rft.pages=473&amp;rft.pub=Weidenfeld+%26+Nicolson&amp;rft.date=2006&amp;rft.aulast=Palin&amp;rft.aufirst=Michael&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMonty+Python%27s+Flying+Circus" class="Z3988"></span></span>\n</li>\n<li id="cite_note-20"><span class="mw-cite-backlink"><b><a href="#cite_ref-20">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1067248974"/><cite id="CITEREFBill_Cooke2006" class="citation book cs1">Bill Cooke (2006). <i>Dictionary of Atheism, Skepticism, and Humanism</i>. Prometheus Books. p.&#160;349. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/9781615923656" title="Special:BookSources/9781615923656"><bdi>9781615923656</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Dictionary+of+Atheism%2C+Skepticism%2C+and+Humanism&amp;rft.pages=349&amp;rft.pub=Prometheus+Books&amp;rft.date=2006&amp;rft.isbn=9781615923656&amp;rft.au=Bill+Cooke&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMonty+Python%27s+Flying+Circus" class="Z3988"></span></span>\n</li>\n<li id="cite_note-irish_times_50th-21"><span class="mw-cite-backlink">^ <a href="#cite_ref-irish_times_50th_21-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-irish_times_50th_21-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-irish_times_50th_21-2"><sup><i><b>c</b></i></sup></a> <a href="#cite_ref-irish_times_50th_21-3"><sup><i><b>d</b></i></sup></a></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1067248974"/><cite id="CITEREFLawson2019" class="citation web cs1">Lawson, Mark (7 October 2019). <a rel="nofollow" class="external text" href="https://www.irishtimes.com/culture/tv-radio-web/monty-python-bbc-archive-reveals-the-secrets-behind-the-sketches-1.4042455">"Monty Python: BBC archive reveals the secrets behind the sketches"</a>. <i><a href="/wiki/The_Irish_Times" title="The Irish Times">The Irish Times</a></i><span class="reference-accessdate">. Retrieved <span class="nowrap">7 October</span> 2019</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=The+Irish+Times&amp;rft.atitle=Monty+Python%3A+BBC+archive+reveals+the+secrets+behind+the+sketches&amp;rft.date=2019-10-07&amp;rft.aulast=Lawson&amp;rft.aufirst=Mark&amp;rft_id=https%3A%2F%2Fwww.irishtimes.com%2Fculture%2Ftv-radio-web%2Fmonty-python-bbc-archive-reveals-the-secrets-behind-the-sketches-1.4042455&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMonty+Python%27s+Flying+Circus" class="Z3988"></span></span>\n</li>\n<li id="cite_note-independent_BBC-22"><span class="mw-cite-backlink">^ <a href="#cite_ref-independent_BBC_22-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-independent_BBC_22-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-independent_BBC_22-2"><sup><i><b>c</b></i></sup></a> <a href="#cite_ref-independent_BBC_22-3"><sup><i><b>d</b></i></sup></a></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1067248974"/><cite id="CITEREFVerkaik2009" class="citation web cs1">Verkaik, Robert (1 June 2009). <a rel="nofollow" class="external text" href="https://www.independent.co.uk/arts-entertainment/tv/news/bbc-bosses-almost-lost-faith-in-disgusting-monty-python-1693829.html">"BBC bosses almost lost faith in \'disgusting\' Monty Python"</a>. <i><a href="/wiki/The_Independent" title="The Independent">The Independent</a></i><span class="reference-accessdate">. Retrieved <span class="nowrap">7 October</span> 2019</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=The+Independent&amp;rft.atitle=BBC+bosses+almost+lost+faith+in+%27disgusting%27+Monty+Python&amp;rft.date=2009-06-01&amp;rft.aulast=Verkaik&amp;rft.aufirst=Robert&amp;rft_id=https%3A%2F%2Fwww.independent.co.uk%2Farts-entertainment%2Ftv%2Fnews%2Fbbc-bosses-almost-lost-faith-in-disgusting-monty-python-1693829.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMonty+Python%27s+Flying+Circus" class="Z3988"></span></span>\n</li>\n<li id="cite_note-telegraph_bbc-23"><span class="mw-cite-backlink">^ <a href="#cite_ref-telegraph_bbc_23-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-telegraph_bbc_23-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-telegraph_bbc_23-2"><sup><i><b>c</b></i></sup></a> <a href="#cite_ref-telegraph_bbc_23-3"><sup><i><b>d</b></i></sup></a></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1067248974"/><cite id="CITEREFHastings2006" class="citation web cs1">Hastings, Chris (10 December 2006). <a rel="nofollow" class="external text" href="https://www.telegraph.co.uk/news/uknews/1536448/What-the-BBC-really-thought-of-Monty-Python.html">"What the BBC really thought of Monty Python"</a>. <i><a href="/wiki/The_Daily_Telegraph" title="The Daily Telegraph">The Telegraph</a></i><span class="reference-accessdate">. Retrieved <span class="nowrap">7 October</span> 2019</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=The+Telegraph&amp;rft.atitle=What+the+BBC+really+thought+of+Monty+Python&amp;rft.date=2006-12-10&amp;rft.aulast=Hastings&amp;rft.aufirst=Chris&amp;rft_id=https%3A%2F%2Fwww.telegraph.co.uk%2Fnews%2Fuknews%2F1536448%2FWhat-the-BBC-really-thought-of-Monty-Python.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMonty+Python%27s+Flying+Circus" class="Z3988"></span></span>\n</li>\n<li id="cite_note-auto-24"><span class="mw-cite-backlink"><b><a href="#cite_ref-auto_24-0">^</a></b></span> <span class="reference-text"><i>The Pythons Autobiography by the Pythons</i>—Graham Chapman, John Cleese, Terry Gilliam, Eric Idle, Terry Jones, Michael Palin, John Chapman, David Sherlock, Bob McCabe—Thomas Dunne Books; Orion, 2003</span>\n</li>\n<li id="cite_note-25"><span class="mw-cite-backlink"><b><a href="#cite_ref-25">^</a></b></span> <span class="reference-text"><a href="/wiki/Richard_Ouzounian" title="Richard Ouzounian">Richard Ouzounian</a>, "<a rel="nofollow" class="external text" href="https://web.archive.org/web/20070929171724/http://www.thestar.com/NASApp/cs/ContentServer?pagename=thestar%2FLayout%2FArticle_Type1&amp;call_pageid=971358637177&amp;c=Article&amp;cid=1152963371205">Python still has legs</a>", <i>Toronto Star</i>, 16 July 2006</span>\n</li>\n<li id="cite_note-26"><span class="mw-cite-backlink"><b><a href="#cite_ref-26">^</a></b></span> <span class="reference-text">\n<link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1067248974"/><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20090924083429/http://orangecow.org/pythonet/sketches/package.htm">"Travel Agent / Watney\'s Red Barrell"</a>. www.orangecow.org. Archived from <a rel="nofollow" class="external text" href="http://www.orangecow.org/pythonet/sketches/package.htm">the original</a> on 24 September 2009<span class="reference-accessdate">. Retrieved <span class="nowrap">13 July</span> 2009</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=Travel+Agent+%2F+Watney%27s+Red+Barrell&amp;rft.pub=www.orangecow.org&amp;rft_id=http%3A%2F%2Fwww.orangecow.org%2Fpythonet%2Fsketches%2Fpackage.htm&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMonty+Python%27s+Flying+Circus" class="Z3988"></span></span>\n</li>\n<li id="cite_note-27"><span class="mw-cite-backlink"><b><a href="#cite_ref-27">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1067248974"/><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.dr.dk/tv/se/monty-python-s-flying-circus-eps-1-45/monty-python-s-flying-circus-3/monty-python-s-flying-circus-27">"Monty Python\'s Flying Circus (27)"</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=Monty+Python%27s+Flying+Circus+%2827%29&amp;rft_id=https%3A%2F%2Fwww.dr.dk%2Ftv%2Fse%2Fmonty-python-s-flying-circus-eps-1-45%2Fmonty-python-s-flying-circus-3%2Fmonty-python-s-flying-circus-27&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMonty+Python%27s+Flying+Circus" class="Z3988"></span></span>\n</li>\n<li id="cite_note-28"><span class="mw-cite-backlink"><b><a href="#cite_ref-28">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1067248974"/><cite id="CITEREFMonty_Python1971" class="citation web cs1">Monty Python (18 December 1971). <a rel="nofollow" class="external text" href="https://www.youtube.com/watch?v=_8Ija4Dec7o">"Monty Python – political choreographer"</a>. Spiny Norman<span class="reference-accessdate">. Retrieved <span class="nowrap">17 June</span> 2013</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=Monty+Python+%E2%80%93+political+choreographer&amp;rft.pub=Spiny+Norman&amp;rft.date=1971-12-18&amp;rft.au=Monty+Python&amp;rft_id=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3D_8Ija4Dec7o&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMonty+Python%27s+Flying+Circus" class="Z3988"></span><sup class="noprint Inline-Template"><span style="white-space: nowrap;">&#91;<i><a href="/wiki/Wikipedia:Link_rot" title="Wikipedia:Link rot"><span title="&#160;Dead YouTube link tagged February 2022">dead YouTube link</span></a></i>&#93;</span></sup></span>\n</li>\n<li id="cite_note-29"><span class="mw-cite-backlink"><b><a href="#cite_ref-29">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1067248974"/><cite id="CITEREFMonty_Python1971" class="citation web cs1">Monty Python (18 December 1971). <a rel="nofollow" class="external text" href="https://www.youtube.com/watch?v=4KO4_feIKO0">"Lost Sketch- Choreographed Party Political Broadcast from WTTW-11"</a>. <i>Lost Sketch- Choreographed Party Political Broadcast – Monty Python\'s Flying Circus WTTW Channel</i>. MontyPythoNET<span class="reference-accessdate">. Retrieved <span class="nowrap">23 January</span> 2012</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=Lost+Sketch-+Choreographed+Party+Political+Broadcast+%E2%80%93+Monty+Python%27s+Flying+Circus+WTTW+Channel&amp;rft.atitle=Lost+Sketch-+Choreographed+Party+Political+Broadcast+from+WTTW-11&amp;rft.date=1971-12-18&amp;rft.au=Monty+Python&amp;rft_id=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3D4KO4_feIKO0&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMonty+Python%27s+Flying+Circus" class="Z3988"></span><sup class="noprint Inline-Template"><span style="white-space: nowrap;">&#91;<i><a href="/wiki/Wikipedia:Link_rot" title="Wikipedia:Link rot"><span title="&#160;Dead YouTube link tagged February 2022">dead YouTube link</span></a></i>&#93;</span></sup></span>\n</li>\n<li id="cite_note-30"><span class="mw-cite-backlink"><b><a href="#cite_ref-30">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1067248974"/><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://www.dvdtalk.com/reviews/35399/complete-monty-pythons-flying-circus-collectors-edition-megaset-the/">"DVD Talk Review: The Complete Monty Python\'s Flying Circus – Collectors Edition Megaset"</a>. 18 November 2008.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=DVD+Talk+Review%3A+The+Complete+Monty+Python%27s+Flying+Circus+%E2%80%93+Collectors+Edition+Megaset&amp;rft.date=2008-11-18&amp;rft_id=http%3A%2F%2Fwww.dvdtalk.com%2Freviews%2F35399%2Fcomplete-monty-pythons-flying-circus-collectors-edition-megaset-the%2F&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMonty+Python%27s+Flying+Circus" class="Z3988"></span></span>\n</li>\n<li id="cite_note-31"><span class="mw-cite-backlink"><b><a href="#cite_ref-31">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1067248974"/><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://sotcaa.org/history/ukonline/python_frame.html?/history/ukonline/python/python_tv_03.html">"Edit News: Monty Python\'s Flying Circus"</a>. <i>Some Of The Corpses Are Amusing</i>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=Some+Of+The+Corpses+Are+Amusing&amp;rft.atitle=Edit+News%3A+Monty+Python%27s+Flying+Circus&amp;rft_id=http%3A%2F%2Fsotcaa.org%2Fhistory%2Fukonline%2Fpython_frame.html%3F%2Fhistory%2Fukonline%2Fpython%2Fpython_tv_03.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMonty+Python%27s+Flying+Circus" class="Z3988"></span></span>\n</li>\n<li id="cite_note-32"><span class="mw-cite-backlink"><b><a href="#cite_ref-32">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1067248974"/><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://montypython.networkonair.com/flyingcircushd">"Monty Python\'s Flying Circus"</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=Monty+Python%27s+Flying+Circus&amp;rft_id=https%3A%2F%2Fmontypython.networkonair.com%2Fflyingcircushd&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMonty+Python%27s+Flying+Circus" class="Z3988"></span></span>\n</li>\n<li id="cite_note-33"><span class="mw-cite-backlink"><b><a href="#cite_ref-33">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1067248974"/><cite id="CITEREFCult2019" class="citation web cs1">Cult, We Are (21 October 2019). <a rel="nofollow" class="external text" href="https://wearecult.rocks/monty-pythons-flying-circus-special-features-revealed">"Monty Python\'s Flying Circus Special Features Revealed!&#160;» We Are Cult"</a>. <i>We Are Cult</i><span class="reference-accessdate">. Retrieved <span class="nowrap">17 May</span> 2022</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=We+Are+Cult&amp;rft.atitle=Monty+Python%27s+Flying+Circus+Special+Features+Revealed%21+%C2%BB+We+Are+Cult&amp;rft.date=2019-10-21&amp;rft.aulast=Cult&amp;rft.aufirst=We+Are&amp;rft_id=https%3A%2F%2Fwearecult.rocks%2Fmonty-pythons-flying-circus-special-features-revealed&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMonty+Python%27s+Flying+Circus" class="Z3988"></span></span>\n</li>\n<li id="cite_note-new_yorker_1976-34"><span class="mw-cite-backlink">^ <a href="#cite_ref-new_yorker_1976_34-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-new_yorker_1976_34-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-new_yorker_1976_34-2"><sup><i><b>c</b></i></sup></a> <a href="#cite_ref-new_yorker_1976_34-3"><sup><i><b>d</b></i></sup></a></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1067248974"/><cite id="CITEREFHertzberg1976" class="citation news cs1">Hertzberg, Hendrik (29 March 1976). <a rel="nofollow" class="external text" href="https://www.newyorker.com/magazine/1976/03/29/naughty-bits">"Naughty Bits"</a>. <i><a href="/wiki/The_New_Yorker" title="The New Yorker">The New Yorker</a></i><span class="reference-accessdate">. Retrieved <span class="nowrap">17 March</span> 2020</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.jtitle=The+New+Yorker&amp;rft.atitle=Naughty+Bits&amp;rft.date=1976-03-29&amp;rft.aulast=Hertzberg&amp;rft.aufirst=Hendrik&amp;rft_id=https%3A%2F%2Fwww.newyorker.com%2Fmagazine%2F1976%2F03%2F29%2Fnaughty-bits&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMonty+Python%27s+Flying+Circus" class="Z3988"></span></span>\n</li>\n<li id="cite_note-FlyingCircusCanada-35"><span class="mw-cite-backlink"><b><a href="#cite_ref-FlyingCircusCanada_35-0">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1067248974"/><cite id="CITEREFJamie_Bradburn,_with_reference_to_Toronto_Star_article_of_2_February_19712011" class="citation web cs1">Jamie Bradburn, with reference to <a href="/wiki/Toronto_Star" title="Toronto Star">Toronto Star</a> article of 2 February 1971 (20 September 2011). <a rel="nofollow" class="external text" href="http://torontoist.com/2011/09/vintage-toronto-ads-jack-of-hearts-flying-circus/">"Vintage Toronto Ads: Jack of Hearts\' Flying Circus"</a>. St. Joseph Media.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=Vintage+Toronto+Ads%3A+Jack+of+Hearts%27+Flying+Circus&amp;rft.pub=St.+Joseph+Media&amp;rft.date=2011-09-20&amp;rft.au=Jamie+Bradburn%2C+with+reference+to+Toronto+Star+article+of+2+February+1971&amp;rft_id=http%3A%2F%2Ftorontoist.com%2F2011%2F09%2Fvintage-toronto-ads-jack-of-hearts-flying-circus%2F&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMonty+Python%27s+Flying+Circus" class="Z3988"></span></span>\n</li>\n<li id="cite_note-Teod-36"><span class="mw-cite-backlink">^ <a href="#cite_ref-Teod_36-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-Teod_36-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1067248974"/><cite id="CITEREFTeodorczuk2015" class="citation news cs1">Teodorczuk, Tom (25 April 2015). <a rel="nofollow" class="external text" href="https://www.thedailybeast.com/john-oliver-hears-monty-pythons-many-secrets">"John Oliver Hears Monty Python\'s Many Secrets"</a>. <i>The Daily Beast</i>. The Daily Beast Company LLC<span class="reference-accessdate">. Retrieved <span class="nowrap">7 October</span> 2019</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.jtitle=The+Daily+Beast&amp;rft.atitle=John+Oliver+Hears+Monty+Python%27s+Many+Secrets&amp;rft.date=2015-04-25&amp;rft.aulast=Teodorczuk&amp;rft.aufirst=Tom&amp;rft_id=https%3A%2F%2Fwww.thedailybeast.com%2Fjohn-oliver-hears-monty-pythons-many-secrets&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMonty+Python%27s+Flying+Circus" class="Z3988"></span></span>\n</li>\n<li id="cite_note-dallas_news-37"><span class="mw-cite-backlink"><b><a href="#cite_ref-dallas_news_37-0">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1067248974"/><cite id="CITEREFPeppard,_Alan2011" class="citation news cs1">Peppard, Alan (25 August 2011). <a rel="nofollow" class="external text" href="https://web.archive.org/web/20140519004645/http://www.dallasnews.com/entertainment/columnists/alan-peppard/20110825-alan-peppard-bob-wilson-hailed-in-kera-documentary.ece">"Alan Peppard: Bob Wilson hailed in KERA documentary"</a>. <i>The Dallas Morning News</i>. Archived from <a rel="nofollow" class="external text" href="http://www.dallasnews.com/entertainment/columnists/alan-peppard/20110825-alan-peppard-bob-wilson-hailed-in-kera-documentary.ece">the original</a> on 19 May 2014<span class="reference-accessdate">. Retrieved <span class="nowrap">25 January</span> 2013</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.jtitle=The+Dallas+Morning+News&amp;rft.atitle=Alan+Peppard%3A+Bob+Wilson+hailed+in+KERA+documentary&amp;rft.date=2011-08-25&amp;rft.au=Peppard%2C+Alan&amp;rft_id=http%3A%2F%2Fwww.dallasnews.com%2Fentertainment%2Fcolumnists%2Falan-peppard%2F20110825-alan-peppard-bob-wilson-hailed-in-kera-documentary.ece&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMonty+Python%27s+Flying+Circus" class="Z3988"></span></span>\n</li>\n<li id="cite_note-38"><span class="mw-cite-backlink"><b><a href="#cite_ref-38">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1067248974"/><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.cnn.com/2015/04/09/entertainment/feat-monty-python-holy-grail-40-years/index.html">"40 years of \'Holy Grail\': The best of Monty Python"</a>. 9 April 2015.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=40+years+of+%27Holy+Grail%27%3A+The+best+of+Monty+Python&amp;rft.date=2015-04-09&amp;rft_id=https%3A%2F%2Fwww.cnn.com%2F2015%2F04%2F09%2Fentertainment%2Ffeat-monty-python-holy-grail-40-years%2Findex.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMonty+Python%27s+Flying+Circus" class="Z3988"></span></span>\n</li>\n<li id="cite_note-StewartStewart1999-39"><span class="mw-cite-backlink"><b><a href="#cite_ref-StewartStewart1999_39-0">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1067248974"/><cite id="CITEREFDavid_StewartDavid_C._Stewart1999" class="citation book cs1">David Stewart; David C. Stewart (May 1999). <span class="cs1-lock-registration" title="Free registration required"><a rel="nofollow" class="external text" href="https://archive.org/details/pbscompanionhis00stew"><i>The PBS companion: a history of public television</i></a></span>. TV Books. p.&#160;<a rel="nofollow" class="external text" href="https://archive.org/details/pbscompanionhis00stew/page/n211">216</a>. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/978-1-57500-050-3" title="Special:BookSources/978-1-57500-050-3"><bdi>978-1-57500-050-3</bdi></a><span class="reference-accessdate">. Retrieved <span class="nowrap">29 September</span> 2010</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=The+PBS+companion%3A+a+history+of+public+television&amp;rft.pages=216&amp;rft.pub=TV+Books&amp;rft.date=1999-05&amp;rft.isbn=978-1-57500-050-3&amp;rft.au=David+Stewart&amp;rft.au=David+C.+Stewart&amp;rft_id=https%3A%2F%2Farchive.org%2Fdetails%2Fpbscompanionhis00stew&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMonty+Python%27s+Flying+Circus" class="Z3988"></span></span>\n</li>\n<li id="cite_note-FOOTNOTEGuralnick1999212,_642-40"><span class="mw-cite-backlink"><b><a href="#cite_ref-FOOTNOTEGuralnick1999212,_642_40-0">^</a></b></span> <span class="reference-text"><a href="#CITEREFGuralnick1999">Guralnick 1999</a>, pp.&#160;212, 642.<span class="error harv-error" style="display: none; font-size:100%"> sfn error: no target: CITEREFGuralnick1999 (<a href="/wiki/Category:Harv_and_Sfn_template_errors" title="Category:Harv and Sfn template errors">help</a>)</span></span>\n</li>\n<li id="cite_note-41"><span class="mw-cite-backlink"><b><a href="#cite_ref-41">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://openjurist.org/538/f2d/14">Gilliam v. American Broadcasting Companies, Inc., 538 F.2d 14 (2d Cir. 1976)</a></span>\n</li>\n<li id="cite_note-42"><span class="mw-cite-backlink"><b><a href="#cite_ref-42">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1067248974"/><cite class="citation audio-visual cs1"><a rel="nofollow" class="external text" href="https://www.youtube.com/watch?v=2cHoAoaVBz0"><i>MTV Monty Python Warning</i></a>. <i>YouTube</i>. 31 May 2007. <a rel="nofollow" class="external text" href="https://ghostarchive.org/varchive/youtube/20211220/2cHoAoaVBz0">Archived</a> from the original on 20 December 2021.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=MTV+Monty+Python+Warning&amp;rft.date=2007-05-31&amp;rft_id=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3D2cHoAoaVBz0&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMonty+Python%27s+Flying+Circus" class="Z3988"></span></span>\n</li>\n<li id="cite_note-43"><span class="mw-cite-backlink"><b><a href="#cite_ref-43">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://vintagerock.wordpress.com/category/monty-pythons-flying-circus">Monty Pythons Flying Circus.</a> | Vintagerock\'s Weblog.</span>\n</li>\n<li id="cite_note-44"><span class="mw-cite-backlink"><b><a href="#cite_ref-44">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1067248974"/><cite id="CITEREFThomas,_Rebecca2003" class="citation news cs1">Thomas, Rebecca (3 August 2003). <a rel="nofollow" class="external text" href="https://web.archive.org/web/20030806004915/http://news.bbc.co.uk/2/hi/entertainment/3112625.stm">"Monty Python learns French"</a>. <i>BBC Online News</i>. BBC. Archived from <a rel="nofollow" class="external text" href="http://news.bbc.co.uk/1/hi/entertainment/arts/3112625.stm">the original</a> on 6 August 2003<span class="reference-accessdate">. Retrieved <span class="nowrap">4 January</span> 2010</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.jtitle=BBC+Online+News&amp;rft.atitle=Monty+Python+learns+French&amp;rft.date=2003-08-03&amp;rft.au=Thomas%2C+Rebecca&amp;rft_id=http%3A%2F%2Fnews.bbc.co.uk%2F1%2Fhi%2Fentertainment%2Farts%2F3112625.stm&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMonty+Python%27s+Flying+Circus" class="Z3988"></span></span>\n</li>\n<li id="cite_note-45"><span class="mw-cite-backlink"><b><a href="#cite_ref-45">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1067248974"/><cite id="CITEREFDavis,_Clive2005" class="citation news cs1">Davis, Clive (31 January 2005). <a rel="nofollow" class="external text" href="http://entertainment.timesonline.co.uk/article/0,,14936-1464143,00.html">"Monty Python\'s Flying Circus – At Last, in French"</a>. <i>The Times Online</i><span class="reference-accessdate">. Retrieved <span class="nowrap">4 January</span> 2010</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.jtitle=The+Times+Online&amp;rft.atitle=Monty+Python%27s+Flying+Circus+%E2%80%93+At+Last%2C+in+French&amp;rft.date=2005-01-31&amp;rft.au=Davis%2C+Clive&amp;rft_id=http%3A%2F%2Fentertainment.timesonline.co.uk%2Farticle%2F0%2C%2C14936-1464143%2C00.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMonty+Python%27s+Flying+Circus" class="Z3988"></span></span>\n</li>\n<li id="cite_note-46"><span class="mw-cite-backlink"><b><a href="#cite_ref-46">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1067248974"/><cite id="CITEREFLogan2003" class="citation news cs1">Logan, Brian (4 August 2003). <a rel="nofollow" class="external text" href="http://timesonline.co.uk">"Ce perroquet est mort: Monty Python in French? Brian Logan meets the team behind a world first"</a>. <i>The Times</i>. London. p.&#160;18.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.jtitle=The+Times&amp;rft.atitle=Ce+perroquet+est+mort%3A+Monty+Python+in+French%3F+Brian+Logan+meets+the+team+behind+a+world+first&amp;rft.pages=18&amp;rft.date=2003-08-04&amp;rft.aulast=Logan&amp;rft.aufirst=Brian&amp;rft_id=http%3A%2F%2Ftimesonline.co.uk&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMonty+Python%27s+Flying+Circus" class="Z3988"></span> <a rel="nofollow" class="external text" href="https://search.proquest.com/docview/246028389">Accessed through ProQuest</a>, 1 March 2012.</span>\n</li>\n<li id="cite_note-47"><span class="mw-cite-backlink"><b><a href="#cite_ref-47">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1067248974"/><cite class="citation news cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20070911082724/http://www.time.com/time/specials/2007/completelist/0,,1651341,00.html">"The 100 Best TV Shows of All-TIME"</a>. <i>TIME</i>. 6 September 2007. Archived from <a rel="nofollow" class="external text" href="http://www.time.com/time/specials/2007/completelist/0,,1651341,00.html">the original</a> on 11 September 2007<span class="reference-accessdate">. Retrieved <span class="nowrap">14 July</span> 2009</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.jtitle=TIME&amp;rft.atitle=The+100+Best+TV+Shows+of+All-TIME&amp;rft.date=2007-09-06&amp;rft_id=http%3A%2F%2Fwww.time.com%2Ftime%2Fspecials%2F2007%2Fcompletelist%2F0%2C%2C1651341%2C00.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMonty+Python%27s+Flying+Circus" class="Z3988"></span></span>\n</li>\n<li id="cite_note-48"><span class="mw-cite-backlink"><b><a href="#cite_ref-48">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1067248974"/><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20090627084038/http://www.channel4.com/entertainment/tv/microsites/G/greatest/comedy_sketches/results.html">"Channel 4\'s 50 Greatest Comedy Sketches"</a>. Channel4.com. Archived from <a rel="nofollow" class="external text" href="http://www.channel4.com/entertainment/tv/microsites/G/greatest/comedy_sketches/results.html">the original</a> on 27 June 2009<span class="reference-accessdate">. Retrieved <span class="nowrap">14 July</span> 2009</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=Channel+4%27s+50+Greatest+Comedy+Sketches&amp;rft.pub=Channel4.com&amp;rft_id=http%3A%2F%2Fwww.channel4.com%2Fentertainment%2Ftv%2Fmicrosites%2FG%2Fgreatest%2Fcomedy_sketches%2Fresults.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMonty+Python%27s+Flying+Circus" class="Z3988"></span></span>\n</li>\n<li id="cite_note-49"><span class="mw-cite-backlink"><b><a href="#cite_ref-49">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1067248974"/><cite class="citation news cs1">"25 Top Cult Shows Ever!". TV Guide Magazine Group. 30 May 2004.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.atitle=25+Top+Cult+Shows+Ever%21&amp;rft.date=2004-05-30&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMonty+Python%27s+Flying+Circus" class="Z3988"></span></span>\n</li>\n<li id="cite_note-50"><span class="mw-cite-backlink"><b><a href="#cite_ref-50">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://www.tvguide.com/news/top-cult-shows-40239.aspx">TV Guide Names the Top Cult Shows Ever – Today\'s News: Our Take</a> <a href="/wiki/TV_Guide" title="TV Guide">TV Guide</a>: 29 June 2007</span>\n</li>\n<li id="cite_note-51"><span class="mw-cite-backlink"><b><a href="#cite_ref-51">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1067248974"/><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://www.tvguide.com/news/tv-guide-magazine-60-best-series-1074962/">"TV Guide Magazine\'s 60 Best Series of All Time"</a>. <i>TV Guide</i>. 23 December 2013.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=TV+Guide&amp;rft.atitle=TV+Guide+Magazine%27s+60+Best+Series+of+All+Time&amp;rft.date=2013-12-23&amp;rft_id=http%3A%2F%2Fwww.tvguide.com%2Fnews%2Ftv-guide-magazine-60-best-series-1074962%2F&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMonty+Python%27s+Flying+Circus" class="Z3988"></span></span>\n</li>\n<li id="cite_note-52"><span class="mw-cite-backlink"><b><a href="#cite_ref-52">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1067248974"/><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.imdb.com/name/nm0010930/bio?ref_=nm_dyk_qt_sm#quotes">"Douglas Adams – Biography – IMdb"</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=Douglas+Adams+%E2%80%93+Biography+%E2%80%93+IMdb&amp;rft_id=https%3A%2F%2Fwww.imdb.com%2Fname%2Fnm0010930%2Fbio%3Fref_%3Dnm_dyk_qt_sm%23quotes&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMonty+Python%27s+Flying+Circus" class="Z3988"></span></span>\n</li>\n<li id="cite_note-53"><span class="mw-cite-backlink"><b><a href="#cite_ref-53">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1067248974"/><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.imdb.com/name/nm0584427/bio?ref_=nm_ql_1">"Lorne Michaels – Biography – IMDb"</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=Lorne+Michaels+%E2%80%93+Biography+%E2%80%93+IMDb&amp;rft_id=https%3A%2F%2Fwww.imdb.com%2Fname%2Fnm0584427%2Fbio%3Fref_%3Dnm_ql_1&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMonty+Python%27s+Flying+Circus" class="Z3988"></span></span>\n</li>\n<li id="cite_note-54"><span class="mw-cite-backlink"><b><a href="#cite_ref-54">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1067248974"/><cite id="CITEREFHansen2017" class="citation news cs1 cs1-prop-foreign-lang-source">Hansen, Helle Kastholm (2 April 2017). <a rel="nofollow" class="external text" href="http://ekstrabladet.dk/ekstra/ekstra-kendte/lars-hjortshoej-mine-boern-saetter-mig-paa-plads/6593764">"LARS HJORTSHØJ: Mine børn sætter mig på plads"</a>. <i><a href="/wiki/Ekstra_Bladet" title="Ekstra Bladet">Ekstra Bladet</a></i> (in Danish). <a href="/wiki/JP/Politikens_Hus" title="JP/Politikens Hus">JP/Politikens Hus</a>. p.&#160;16 (4th section). <a rel="nofollow" class="external text" href="https://web.archive.org/web/20170501050649/http://ekstrabladet.dk/ekstra/ekstra-kendte/lars-hjortshoej-mine-boern-saetter-mig-paa-plads/6593764">Archived</a> from the original on 1 May 2017.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.jtitle=Ekstra+Bladet&amp;rft.atitle=LARS+HJORTSH%C3%98J%3A+Mine+b%C3%B8rn+s%C3%A6tter+mig+p%C3%A5+plads&amp;rft.pages=16+%284th+section%29&amp;rft.date=2017-04-02&amp;rft.aulast=Hansen&amp;rft.aufirst=Helle+Kastholm&amp;rft_id=http%3A%2F%2Fekstrabladet.dk%2Fekstra%2Fekstra-kendte%2Flars-hjortshoej-mine-boern-saetter-mig-paa-plads%2F6593764&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMonty+Python%27s+Flying+Circus" class="Z3988"></span></span>\n</li>\n<li id="cite_note-dfi-mandrillen-55"><span class="mw-cite-backlink"><b><a href="#cite_ref-dfi-mandrillen_55-0">^</a></b></span> <span class="reference-text">"<a rel="nofollow" class="external text" href="http://www.dfi.dk/faktaomfilm/film/da/77461.aspx?id=77461">Casper &amp; mandrilaftalen</a>". <i>Casper &amp; Mandrilaftalen (DK, 1999)</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20171007011850/http://www.dfi.dk/faktaomfilm/film/da/77461.aspx?id=77461">Archived</a> from the original on October 7, 2017.</span>\n</li>\n<li id="cite_note-56"><span class="mw-cite-backlink"><b><a href="#cite_ref-56">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1067248974"/><cite class="citation news cs1 cs1-prop-foreign-lang-source">"K\'nyt: Cleese i Mandrillen". <i><a href="/wiki/Dagbladet_Information" title="Dagbladet Information">Dagbladet Information</a></i> (in Danish). 4 September 1999. p.&#160;9 (1st section). <q>I aftes, fredag, optrådte den store engelske komiker John Cleese som gæst i \'Casper og Mandrilaftalen\'.</q></cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.jtitle=Dagbladet+Information&amp;rft.atitle=K%27nyt%3A+Cleese+i+Mandrillen&amp;rft.pages=9+%281st+section%29&amp;rft.date=1999-09-04&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMonty+Python%27s+Flying+Circus" class="Z3988"></span></span>\n</li>\n<li id="cite_note-57"><span class="mw-cite-backlink"><b><a href="#cite_ref-57">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1067248974"/><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.python.org/doc/faq/general/">"General Python FAQ — Python 2.7.10 documentation"</a>. <i>python.org</i>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=python.org&amp;rft.atitle=General+Python+FAQ+%E2%80%94+Python+2.7.10+documentation&amp;rft_id=https%3A%2F%2Fwww.python.org%2Fdoc%2Ffaq%2Fgeneral%2F&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMonty+Python%27s+Flying+Circus" class="Z3988"></span></span>\n</li>\n</ol></div>\n<style data-mw-deduplicate="TemplateStyles:r1054258005">.mw-parser-output .refbegin{font-size:90%;margin-bottom:0.5em}.mw-parser-output .refbegin-hanging-indents>ul{margin-left:0}.mw-parser-output .refbegin-hanging-indents>ul>li{margin-left:0;padding-left:3.2em;text-indent:-3.2em}.mw-parser-output .refbegin-hanging-indents ul,.mw-parser-output .refbegin-hanging-indents ul li{list-style:none}@media(max-width:720px){.mw-parser-output .refbegin-hanging-indents>ul>li{padding-left:1.6em;text-indent:-1.6em}}.mw-parser-output .refbegin-columns{margin-top:0.3em}.mw-parser-output .refbegin-columns ul{margin-top:0}.mw-parser-output .refbegin-columns li{page-break-inside:avoid;break-inside:avoid-column}</style><div class="refbegin" style="">\n<p><b>Bibliography</b> \n</p>\n<ul><li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1067248974"/><cite id="CITEREFLandy2005" class="citation book cs1">Landy, Marcia (2005). <i>Monty Python\'s Flying Circus</i>. Wayne State University Press. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/0-8143-3103-3" title="Special:BookSources/0-8143-3103-3"><bdi>0-8143-3103-3</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Monty+Python%27s+Flying+Circus&amp;rft.pub=Wayne+State+University+Press&amp;rft.date=2005&amp;rft.isbn=0-8143-3103-3&amp;rft.aulast=Landy&amp;rft.aufirst=Marcia&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMonty+Python%27s+Flying+Circus" class="Z3988"></span></li>\n<li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1067248974"/><cite id="CITEREFLarsen2008" class="citation book cs1">Larsen, Darl (2008). <i>Monty Python\'s Flying Circus: An Utterly Complete, Thoroughly Unillustrated, Absolutely Unauthorized Guide to Possibly All the References From Arthur "Two Sheds" Jackson to Zambesi</i>. Scarecrow Press. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/9780810861312" title="Special:BookSources/9780810861312"><bdi>9780810861312</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Monty+Python%27s+Flying+Circus%3A+An+Utterly+Complete%2C+Thoroughly+Unillustrated%2C+Absolutely+Unauthorized+Guide+to+Possibly+All+the+References+From+Arthur+%22Two+Sheds%22+Jackson+to+Zambesi&amp;rft.pub=Scarecrow+Press&amp;rft.date=2008&amp;rft.isbn=9780810861312&amp;rft.aulast=Larsen&amp;rft.aufirst=Darl&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMonty+Python%27s+Flying+Circus" class="Z3988"></span></li>\n<li>Larsen, Darl. <i>Monty Python\'s Flying Circus: An Utterly Complete, Thoroughly Unillustrated, Absolutely Unauthorized Guide to Possibly All the References From Arthur "Two Sheds" Jackson to Zambesi</i>, Volumes 1 and 2. Scarecrow Press, 2013. <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1067248974"/><a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/9781589797123" title="Special:BookSources/9781589797123">9781589797123</a> (vol. 1) and <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1067248974"/><a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/9781589798076" title="Special:BookSources/9781589798076">9781589798076</a> (vol. 2)</li></ul>\n</div>\n<h2><span class="mw-headline" id="External_links">External links</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Monty_Python%27s_Flying_Circus&amp;action=edit&amp;section=27" title="Edit section: External links">edit</a><span class="mw-editsection-bracket">]</span></span></h2>\n<style data-mw-deduplicate="TemplateStyles:r1097025294">.mw-parser-output .side-box{margin:4px 0;box-sizing:border-box;border:1px solid #aaa;font-size:88%;line-height:1.25em;background-color:#f9f9f9}.mw-parser-output .side-box-abovebelow,.mw-parser-output .side-box-text{padding:0.25em 0.9em}.mw-parser-output .side-box-image{padding:2px 0 2px 0.9em;text-align:center}.mw-parser-output .side-box-imageright{padding:2px 0.9em 2px 0;text-align:center}@media(min-width:500px){.mw-parser-output .side-box-flex{display:flex;align-items:center}.mw-parser-output .side-box-text{flex:1}}@media(min-width:720px){.mw-parser-output .side-box{width:238px}.mw-parser-output .side-box-right{clear:right;float:right;margin-left:1em}.mw-parser-output .side-box-left{margin-right:1em}}</style><div class="side-box side-box-right plainlinks sistersitebox">\n<div class="side-box-flex">\n<div class="side-box-image"><img alt="" src="//upload.wikimedia.org/wikipedia/commons/thumb/f/fa/Wikiquote-logo.svg/34px-Wikiquote-logo.svg.png" decoding="async" width="34" height="40" class="noviewer" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/f/fa/Wikiquote-logo.svg/51px-Wikiquote-logo.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/f/fa/Wikiquote-logo.svg/68px-Wikiquote-logo.svg.png 2x" data-file-width="300" data-file-height="355" /></div>\n<div class="side-box-text plainlist">Wikiquote has quotations related to <i><b><a href="https://en.wikiquote.org/wiki/Special:Search/Monty_Python%27s_Flying_Circus" class="extiw" title="q:Special:Search/Monty Python&#39;s Flying Circus">Monty Python&#39;s Flying Circus</a></b></i>.</div></div>\n</div>\n<ul><li><span class="official-website"><span class="url"><a rel="nofollow" class="external text" href="http://www.montypython.com">Official website</a></span></span></li>\n<li><a rel="nofollow" class="external text" href="https://www.imdb.com/title/tt0063929/"><i>Monty Python’s Flying Circus</i></a> at <a href="/wiki/IMDb" title="IMDb">IMDb</a></li>\n<li><a rel="nofollow" class="external text" href="http://www.museum.tv/archives/etv/M/htmlM/montypython/montypython.htm">Museum of Broadcast Television</a></li>\n<li><a rel="nofollow" class="external text" href="http://www.screenonline.org.uk/tv/id/469243/index.html">British Film Institute Screen Online</a></li>\n<li><a rel="nofollow" class="external text" href="https://nostalgiacentral.com/television/tv-by-decade/tv-shows-1960s/monty-pythons-flying-circus/"><i>Monty Python’s Flying Circus</i></a> – Nostalgia Central</li></ul>\n<div class="navbox-styles nomobile"><style data-mw-deduplicate="TemplateStyles:r1061467846">.mw-parser-output .navbox{box-sizing:border-box;border:1px solid #a2a9b1;width:100%;clear:both;font-size:88%;text-align:center;padding:1px;margin:1em auto 0}.mw-parser-output .navbox .navbox{margin-top:0}.mw-parser-output .navbox+.navbox,.mw-parser-output .navbox+.navbox-styles+.navbox{margin-top:-1px}.mw-parser-output .navbox-inner,.mw-parser-output .navbox-subgroup{width:100%}.mw-parser-output .navbox-group,.mw-parser-output .navbox-title,.mw-parser-output .navbox-abovebelow{padding:0.25em 1em;line-height:1.5em;text-align:center}.mw-parser-output .navbox-group{white-space:nowrap;text-align:right}.mw-parser-output .navbox,.mw-parser-output .navbox-subgroup{background-color:#fdfdfd}.mw-parser-output .navbox-list{line-height:1.5em;border-color:#fdfdfd}.mw-parser-output .navbox-list-with-group{text-align:left;border-left-width:2px;border-left-style:solid}.mw-parser-output tr+tr>.navbox-abovebelow,.mw-parser-output tr+tr>.navbox-group,.mw-parser-output tr+tr>.navbox-image,.mw-parser-output tr+tr>.navbox-list{border-top:2px solid #fdfdfd}.mw-parser-output .navbox-title{background-color:#ccf}.mw-parser-output .navbox-abovebelow,.mw-parser-output .navbox-group,.mw-parser-output .navbox-subgroup .navbox-title{background-color:#ddf}.mw-parser-output .navbox-subgroup .navbox-group,.mw-parser-output .navbox-subgroup .navbox-abovebelow{background-color:#e6e6ff}.mw-parser-output .navbox-even{background-color:#f7f7f7}.mw-parser-output .navbox-odd{background-color:transparent}.mw-parser-output .navbox .hlist td dl,.mw-parser-output .navbox .hlist td ol,.mw-parser-output .navbox .hlist td ul,.mw-parser-output .navbox td.hlist dl,.mw-parser-output .navbox td.hlist ol,.mw-parser-output .navbox td.hlist ul{padding:0.125em 0}.mw-parser-output .navbox .navbar{display:block;font-size:100%}.mw-parser-output .navbox-title .navbar{float:left;text-align:left;margin-right:0.5em}</style></div><div role="navigation" class="navbox" aria-labelledby="Monty_Python" style="padding:3px"><table class="nowraplinks hlist mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><style data-mw-deduplicate="TemplateStyles:r1063604349">.mw-parser-output .navbar{display:inline;font-size:88%;font-weight:normal}.mw-parser-output .navbar-collapse{float:left;text-align:left}.mw-parser-output .navbar-boxtext{word-spacing:0}.mw-parser-output .navbar ul{display:inline-block;white-space:nowrap;line-height:inherit}.mw-parser-output .navbar-brackets::before{margin-right:-0.125em;content:"[ "}.mw-parser-output .navbar-brackets::after{margin-left:-0.125em;content:" ]"}.mw-parser-output .navbar li{word-spacing:-0.125em}.mw-parser-output .navbar a>span,.mw-parser-output .navbar a>abbr{text-decoration:inherit}.mw-parser-output .navbar-mini abbr{font-variant:small-caps;border-bottom:none;text-decoration:none;cursor:inherit}.mw-parser-output .navbar-ct-full{font-size:114%;margin:0 7em}.mw-parser-output .navbar-ct-mini{font-size:114%;margin:0 4em}</style><div class="navbar plainlinks hlist navbar-mini"><ul><li class="nv-view"><a href="/wiki/Template:Monty_Python" title="Template:Monty Python"><abbr title="View this template" style=";;background:none transparent;border:none;box-shadow:none;padding:0;">v</abbr></a></li><li class="nv-talk"><a href="/wiki/Template_talk:Monty_Python" title="Template talk:Monty Python"><abbr title="Discuss this template" style=";;background:none transparent;border:none;box-shadow:none;padding:0;">t</abbr></a></li><li class="nv-edit"><a class="external text" href="https://en.wikipedia.org/w/index.php?title=Template:Monty_Python&amp;action=edit"><abbr title="Edit this template" style=";;background:none transparent;border:none;box-shadow:none;padding:0;">e</abbr></a></li></ul></div><div id="Monty_Python" style="font-size:114%;margin:0 4em"><a href="/wiki/Monty_Python" title="Monty Python">Monty Python</a></div></th></tr><tr><td class="navbox-abovebelow" colspan="2"><div id="*_Graham_Chapman_*_John_Cleese_*_Terry_Gilliam_*_Eric_Idle_*_Terry_Jones_*_Michael_Palin&amp;#95;_*_Carol_Cleveland_*_Neil_Innes">\n<ul><li><b><a href="/wiki/Graham_Chapman" title="Graham Chapman">Graham Chapman</a></b></li>\n<li><b><a href="/wiki/John_Cleese" title="John Cleese">John Cleese</a></b></li>\n<li><b><a href="/wiki/Terry_Gilliam" title="Terry Gilliam">Terry Gilliam</a></b></li>\n<li><b><a href="/wiki/Eric_Idle" title="Eric Idle">Eric Idle</a></b></li>\n<li><b><a href="/wiki/Terry_Jones" title="Terry Jones">Terry Jones</a></b></li>\n<li><b><a href="/wiki/Michael_Palin" title="Michael Palin">Michael Palin</a></b></li></ul>\n<ul><li><a href="/wiki/Carol_Cleveland" title="Carol Cleveland">Carol Cleveland</a></li>\n<li><a href="/wiki/Neil_Innes" title="Neil Innes">Neil Innes</a></li></ul>\n</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Television series</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">\n<ul><li><i><a class="mw-selflink selflink">Flying Circus</a></i>\n<ul><li><a href="/wiki/List_of_Monty_Python%27s_Flying_Circus_episodes" title="List of Monty Python&#39;s Flying Circus episodes">episodes</a></li></ul></li>\n<li><i><a href="/wiki/Monty_Python%27s_Fliegender_Zirkus" title="Monty Python&#39;s Fliegender Zirkus">Fliegender Zirkus</a></i></li>\n<li><i><a href="/wiki/Monty_Python%27s_Personal_Best" title="Monty Python&#39;s Personal Best">Personal Best</a></i></li></ul>\n</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Films</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">\n<ul><li><i><a href="/wiki/And_Now_for_Something_Completely_Different" title="And Now for Something Completely Different">And Now for Something Completely Different</a></i></li>\n<li><i><a href="/wiki/Monty_Python_and_the_Holy_Grail" title="Monty Python and the Holy Grail">Holy Grail</a></i></li>\n<li><i><a href="/wiki/Monty_Python%27s_Life_of_Brian" title="Monty Python&#39;s Life of Brian">Life of Brian</a></i></li>\n<li><i><a href="/wiki/Monty_Python_Live_at_the_Hollywood_Bowl" title="Monty Python Live at the Hollywood Bowl">Live at the Hollywood Bowl</a></i></li>\n<li><i><a href="/wiki/Monty_Python%27s_The_Meaning_of_Life" title="Monty Python&#39;s The Meaning of Life">The Meaning of Life</a></i>\n<ul><li><i><a href="/wiki/The_Crimson_Permanent_Assurance" title="The Crimson Permanent Assurance">The Crimson Permanent Assurance</a></i></li></ul></li></ul>\n</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Studio albums</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">\n<ul><li><i><a href="/wiki/Another_Monty_Python_Record" title="Another Monty Python Record">Another Record</a></i></li>\n<li><i><a href="/wiki/Monty_Python%27s_Previous_Record" title="Monty Python&#39;s Previous Record">Previous Record</a></i></li>\n<li><i><a href="/wiki/The_Monty_Python_Matching_Tie_and_Handkerchief" title="The Monty Python Matching Tie and Handkerchief">Matching Tie and Handkerchief</a></i></li>\n<li><i><a href="/wiki/The_Album_of_the_Soundtrack_of_the_Trailer_of_the_Film_of_Monty_Python_and_the_Holy_Grail" title="The Album of the Soundtrack of the Trailer of the Film of Monty Python and the Holy Grail">Holy Grail</a></i></li>\n<li><i><a href="/wiki/Monty_Python%27s_Life_of_Brian_(album)" title="Monty Python&#39;s Life of Brian (album)">Life of Brian</a></i></li>\n<li><i><a href="/wiki/Monty_Python%27s_Contractual_Obligation_Album" title="Monty Python&#39;s Contractual Obligation Album">Contractual Obligation</a></i></li>\n<li><i><a href="/wiki/Monty_Python%27s_The_Meaning_of_Life_(album)" title="Monty Python&#39;s The Meaning of Life (album)">The Meaning of Life</a></i></li></ul>\n</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Compilation albums</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">\n<ul><li><i><a href="/wiki/The_Monty_Python_Instant_Record_Collection" title="The Monty Python Instant Record Collection">Instant Record Collection</a></i></li>\n<li><i><a href="/wiki/The_Final_Rip_Off" title="The Final Rip Off">Final Rip Off</a></i></li>\n<li><i><a href="/wiki/Monty_Python_Sings" title="Monty Python Sings">Sings</a></i></li>\n<li><i><a href="/wiki/The_Ultimate_Monty_Python_Rip_Off" title="The Ultimate Monty Python Rip Off">Ultimate Rip Off</a></i></li>\n<li><i><a href="/wiki/The_Instant_Monty_Python_CD_Collection" title="The Instant Monty Python CD Collection">Instant CD Collection</a></i></li>\n<li><i><a href="/wiki/Monty_Python%27s_Total_Rubbish" title="Monty Python&#39;s Total Rubbish">Total Rubbish</a></i></li></ul>\n</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Live albums</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">\n<ul><li><i><a href="/wiki/Monty_Python%27s_Flying_Circus_(album)" title="Monty Python&#39;s Flying Circus (album)">Flying Circus</a></i></li>\n<li><i><a href="/wiki/Live_at_Drury_Lane" title="Live at Drury Lane">Live at Drury Lane</a></i></li>\n<li><i><a href="/wiki/Monty_Python_Live_at_City_Center" title="Monty Python Live at City Center">Live at City Center</a></i></li></ul>\n</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Specials</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">\n<ul><li><i><a href="/wiki/Parrot_Sketch_Not_Included_%E2%80%93_20_Years_of_Monty_Python" title="Parrot Sketch Not Included – 20 Years of Monty Python">Parrot Sketch Not Included</a></i></li>\n<li><i><a href="/wiki/Monty_Python_Live_at_Aspen" title="Monty Python Live at Aspen">Live at Aspen</a></i></li>\n<li><i><a href="/wiki/Python_Night_%E2%80%93_30_Years_of_Monty_Python" title="Python Night – 30 Years of Monty Python">Python Night</a></i></li></ul>\n</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Documentaries</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">\n<ul><li><i><a href="/wiki/The_Pythons_(film)" title="The Pythons (film)">The Pythons</a></i></li>\n<li><i><a href="/wiki/Life_of_Python" title="Life of Python">Life of Python</a></i></li>\n<li><i><a href="/wiki/Monty_Python:_Almost_the_Truth_(Lawyers_Cut)" title="Monty Python: Almost the Truth (Lawyers Cut)">Almost the Truth (Lawyers Cut)</a></i></li>\n<li><i><a href="/wiki/Monty_Python:_And_Now_for_Something_Rather_Similar" title="Monty Python: And Now for Something Rather Similar">And Now for Something Rather Similar</a></i></li>\n<li><i><a href="/wiki/Monty_Python:_The_Meaning_of_Live" title="Monty Python: The Meaning of Live">The Meaning of Live</a></i></li></ul>\n</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Stage productions</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">\n<ul><li><i><a href="/wiki/Spamalot" title="Spamalot">Spamalot</a></i></li>\n<li><i><a href="/wiki/Not_the_Messiah_(He%27s_a_Very_Naughty_Boy)" title="Not the Messiah (He&#39;s a Very Naughty Boy)">Not the Messiah (He\'s a Very Naughty Boy)</a></i></li>\n<li><i><a href="/wiki/An_Evening_Without_Monty_Python" title="An Evening Without Monty Python">An Evening Without Monty Python</a></i></li>\n<li><i><a href="/wiki/Monty_Python_Live_(Mostly)" title="Monty Python Live (Mostly)">Live (Mostly)</a></i></li></ul>\n</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Literature</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">\n<ul><li><i><a href="/wiki/Monty_Python%27s_Big_Red_Book" title="Monty Python&#39;s Big Red Book">Big Red Book</a></i></li>\n<li><i><a href="/wiki/The_Brand_New_Monty_Python_Bok" title="The Brand New Monty Python Bok">Brand New Bok</a></i></li>\n<li><i><a href="/wiki/Monty_Python_and_the_Holy_Grail_(Book)" title="Monty Python and the Holy Grail (Book)">Holy Grail (Book)</a></i></li>\n<li><i><a href="/wiki/Monty_Python%27s_The_Life_of_Brian_/_Monty_Python_Scrapbook" title="Monty Python&#39;s The Life of Brian / Monty Python Scrapbook">Life of Brian/SCRAPBOOK</a></i></li>\n<li><i><a href="/wiki/Monty_Python%27s_The_Meaning_of_Life_(book)" title="Monty Python&#39;s The Meaning of Life (book)">The Meaning of Life</a></i></li>\n<li><i><a href="/wiki/Monty_Python%27s_Flying_Circus:_Just_the_Words" title="Monty Python&#39;s Flying Circus: Just the Words">Just the Words</a></i></li>\n<li><i><a href="/wiki/The_Fairly_Incomplete_%26_Rather_Badly_Illustrated_Monty_Python_Song_Book" title="The Fairly Incomplete &amp; Rather Badly Illustrated Monty Python Song Book">Song Book</a></i></li>\n<li><i><a href="/wiki/A_Pocketful_of_Python" title="A Pocketful of Python">A Pocketful of Python</a></i></li>\n<li><i><a href="/wiki/The_Pythons_Autobiography_by_The_Pythons" title="The Pythons Autobiography by The Pythons">The Pythons Autobiography by The Pythons</a></i></li>\n<li><i><a href="/wiki/Monty_Python_Live!" title="Monty Python Live!">Live!</a></i></li></ul>\n</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Video games</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">\n<ul><li><i><a href="/wiki/Monty_Python%27s_Flying_Circus:_The_Computer_Game" title="Monty Python&#39;s Flying Circus: The Computer Game">Flying Circus</a></i></li>\n<li><i><a href="/wiki/Monty_Python%27s_Complete_Waste_of_Time" title="Monty Python&#39;s Complete Waste of Time">Complete Waste of Time</a></i></li>\n<li><i><a href="/wiki/Monty_Python_%26_the_Quest_for_the_Holy_Grail" title="Monty Python &amp; the Quest for the Holy Grail">Quest for the Holy Grail</a></i></li>\n<li><i><a href="/wiki/Monty_Python%27s_The_Meaning_of_Life_(video_game)" title="Monty Python&#39;s The Meaning of Life (video game)">The Meaning of Life</a></i></li>\n<li><i><a href="/wiki/Monty_Python%27s_Cow_Tossing" title="Monty Python&#39;s Cow Tossing">Cow Tossing</a></i></li></ul>\n</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Characters</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">\n<ul><li><a href="/wiki/Mr_Praline" title="Mr Praline">Mr Praline</a></li>\n<li><a href="/wiki/The_Colonel_(Monty_Python)" title="The Colonel (Monty Python)">The Colonel</a></li>\n<li><a href="/wiki/Mr_Creosote" title="Mr Creosote">Mr Creosote</a></li>\n<li><a href="/wiki/Rabbit_of_Caerbannog" title="Rabbit of Caerbannog">Rabbit of Caerbannog</a></li>\n<li><a href="/wiki/List_of_recurring_Monty_Python%27s_Flying_Circus_characters" title="List of recurring Monty Python&#39;s Flying Circus characters">Other characters</a></li></ul>\n</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Sketches</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">\n<ul><li><a href="/wiki/Albatross_(Monty_Python_sketch)" title="Albatross (Monty Python sketch)">Albatross!</a></li>\n<li><a href="/wiki/Anne_Elk%27s_Theory_on_Brontosauruses" title="Anne Elk&#39;s Theory on Brontosauruses">Anne Elk\'s Theory on Brontosauruses</a></li>\n<li><a href="/wiki/Architects_Sketch" title="Architects Sketch">Architects</a></li>\n<li><a href="/wiki/Argument_Clinic" title="Argument Clinic">Argument Clinic</a></li>\n<li><a href="/wiki/Bruces_sketch" title="Bruces sketch">Bruces</a></li>\n<li><a href="/wiki/Cheese_Shop_sketch" title="Cheese Shop sketch">Cheese Shop</a></li>\n<li><a href="/wiki/Colin_%22Bomber%22_Harris_vs_Colin_%22Bomber%22_Harris" title="Colin &quot;Bomber&quot; Harris vs Colin &quot;Bomber&quot; Harris">Colin "Bomber" Harris vs Colin "Bomber" Harris</a></li>\n<li><a href="/wiki/Crunchy_Frog" title="Crunchy Frog">Crunchy Frog</a></li>\n<li><a href="/wiki/Dead_Parrot_sketch" title="Dead Parrot sketch">Dead Parrot</a></li>\n<li><a href="/wiki/The_Dirty_Fork" title="The Dirty Fork">Dirty Fork</a></li>\n<li><a href="/wiki/Dirty_Hungarian_Phrasebook" title="Dirty Hungarian Phrasebook">Dirty Hungarian Phrasebook</a></li>\n<li><a href="/wiki/Election_Night_Special" title="Election Night Special">Election Night Special</a></li>\n<li><a href="/wiki/Fish_Licence" title="Fish Licence">Fish Licence</a></li>\n<li><a href="/wiki/The_Fish-Slapping_Dance" title="The Fish-Slapping Dance">Fish-Slapping Dance</a></li>\n<li><a href="/wiki/Four_Yorkshiremen_sketch" title="Four Yorkshiremen sketch">Four Yorkshiremen</a></li>\n<li><a href="/wiki/The_Funniest_Joke_in_the_World" title="The Funniest Joke in the World">The Funniest Joke in the World</a></li>\n<li><a href="/wiki/How_Not_to_Be_Seen" title="How Not to Be Seen">How Not to Be Seen</a></li>\n<li><a href="/wiki/Kilimanjaro_Expedition" title="Kilimanjaro Expedition">Kilimanjaro Expedition</a></li>\n<li><a href="/wiki/Lifeboat_sketch" title="Lifeboat sketch">Lifeboat</a></li>\n<li><a href="/wiki/Marriage_Guidance_Counsellor" title="Marriage Guidance Counsellor">Marriage Guidance Counsellor</a></li>\n<li><a href="/wiki/The_Ministry_of_Silly_Walks" title="The Ministry of Silly Walks">Ministry of Silly Walks</a></li>\n<li><a href="/wiki/The_Mouse_Problem" title="The Mouse Problem">Mouse Problem</a></li>\n<li><a href="/wiki/Nudge_Nudge" title="Nudge Nudge">Nudge Nudge</a></li>\n<li><a href="/wiki/Patient_Abuse" title="Patient Abuse">Patient Abuse</a></li>\n<li><a href="/wiki/The_Philosophers%27_Football_Match" title="The Philosophers&#39; Football Match">Philosophers\' Football Match</a></li>\n<li><a href="/wiki/Piranha_Brothers" title="Piranha Brothers">Piranha Brothers</a></li>\n<li><a href="/wiki/Sam_Peckinpah%27s_%22Salad_Days%22" title="Sam Peckinpah&#39;s &quot;Salad Days&quot;">Sam Peckinpah\'s "Salad Days"</a></li>\n<li><a href="/wiki/Seduced_Milkmen" title="Seduced Milkmen">Seduced Milkmen</a></li>\n<li><a href="/wiki/Self-Defence_Against_Fresh_Fruit" title="Self-Defence Against Fresh Fruit">Self-Defence Against Fresh Fruit</a></li>\n<li><a href="/wiki/Spam_(Monty_Python)" title="Spam (Monty Python)">Spam</a></li>\n<li><a href="/wiki/The_Spanish_Inquisition_(Monty_Python)" title="The Spanish Inquisition (Monty Python)">Spanish Inquisition</a></li>\n<li><a href="/wiki/Undertakers_sketch" title="Undertakers sketch">Undertakers</a></li>\n<li><a href="/wiki/Upper_Class_Twit_of_the_Year" title="Upper Class Twit of the Year">Upper Class Twit of the Year</a></li>\n<li><a href="/wiki/Vocational_Guidance_Counsellor" title="Vocational Guidance Counsellor">Vocational Guidance Counsellor</a></li>\n<li><a href="/wiki/World_Forum/Communist_Quiz" title="World Forum/Communist Quiz">World Forum/Communist Quiz</a></li></ul>\n</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Songs</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">\n<ul><li>"<a href="/wiki/Always_Look_on_the_Bright_Side_of_Life" title="Always Look on the Bright Side of Life">Always Look on the Bright Side of Life</a>"</li>\n<li>"<a href="/wiki/Brian_Song" title="Brian Song">Brian Song</a>"</li>\n<li>"<a href="/wiki/Bruces%27_Philosophers_Song" title="Bruces&#39; Philosophers Song">Bruces\' Philosophers Song</a>"</li>\n<li>"<a href="/wiki/Decomposing_Composers" title="Decomposing Composers">Decomposing Composers</a>"</li>\n<li>"<a href="/wiki/Eric_the_Half-a-Bee" title="Eric the Half-a-Bee">Eric the Half-a-Bee</a>"</li>\n<li>"<a href="/wiki/Every_Sperm_Is_Sacred" title="Every Sperm Is Sacred">Every Sperm Is Sacred</a>"</li>\n<li>"<a href="/wiki/Finland_(song)" title="Finland (song)">Finland</a>"</li>\n<li>"<a href="/wiki/Galaxy_Song" title="Galaxy Song">Galaxy Song</a>"</li>\n<li>"<a href="/wiki/I_Bet_You_They_Won%27t_Play_This_Song_on_the_Radio" title="I Bet You They Won&#39;t Play This Song on the Radio">I Bet You They Won\'t Play This Song on the Radio</a>"</li>\n<li>"<a href="/wiki/I_Like_Chinese" title="I Like Chinese">I Like Chinese</a>"</li>\n<li>"<a href="/wiki/I%27ve_Got_Two_Legs" title="I&#39;ve Got Two Legs">I\'ve Got Two Legs</a>"</li>\n<li>"<a href="/wiki/The_Lumberjack_Song" title="The Lumberjack Song">The Lumberjack Song</a>"</li>\n<li>"<a href="/wiki/Medical_Love_Song" title="Medical Love Song">Medical Love Song</a>"</li>\n<li>"<a href="/wiki/Oliver_Cromwell_(song)" title="Oliver Cromwell (song)">Oliver Cromwell</a>"</li>\n<li>"<a href="/wiki/Sit_on_My_Face" title="Sit on My Face">Sit on My Face</a>"</li></ul>\n</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Related</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">\n<ul><li><a href="/wiki/List_of_Monty_Python_projects" title="List of Monty Python projects">List of Monty Python projects</a></li>\n<li><a href="/wiki/The_Foot_of_Cupid" class="mw-redirect" title="The Foot of Cupid">The Foot of Cupid</a></li>\n<li><i><a href="/wiki/Cambridge_Footlights_Revue" title="Cambridge Footlights Revue">Cambridge Circus</a></i></li>\n<li><i><a href="/wiki/I%27m_Sorry,_I%27ll_Read_That_Again" title="I&#39;m Sorry, I&#39;ll Read That Again">I\'m Sorry, I\'ll Read That Again</a></i></li>\n<li><i><a href="/wiki/The_Frost_Report" title="The Frost Report">The Frost Report</a></i></li>\n<li><i><a href="/wiki/At_Last_the_1948_Show" title="At Last the 1948 Show">At Last the 1948 Show</a></i></li>\n<li><i><a href="/wiki/Twice_a_Fortnight" title="Twice a Fortnight">Twice a Fortnight</a></i></li>\n<li><i><a href="/wiki/Do_Not_Adjust_Your_Set" title="Do Not Adjust Your Set">Do Not Adjust Your Set</a></i></li>\n<li><i><a href="/wiki/We_Have_Ways_of_Making_You_Laugh" title="We Have Ways of Making You Laugh">We Have Ways of Making You Laugh</a></i></li>\n<li><i><a href="/wiki/Broaden_Your_Mind" title="Broaden Your Mind">Broaden Your Mind</a></i></li>\n<li><i><a href="/wiki/How_to_Irritate_People" title="How to Irritate People">How to Irritate People</a></i></li>\n<li><i><a href="/wiki/The_Complete_and_Utter_History_of_Britain" title="The Complete and Utter History of Britain">The Complete and Utter History of Britain</a></i></li>\n<li><i><a href="/wiki/Teach_Yourself_Heath" title="Teach Yourself Heath">Teach Yourself Heath</a></i></li>\n<li><i><a href="/wiki/Monty_Python%27s_Tiny_Black_Round_Thing" title="Monty Python&#39;s Tiny Black Round Thing">Tiny Black Round Thing</a></i></li>\n<li><i><a href="/wiki/Bert_Fegg%27s_Nasty_Book_for_Boys_and_Girls" title="Bert Fegg&#39;s Nasty Book for Boys and Girls">Bert Fegg\'s Nasty Book for Boys and Girls</a></i></li>\n<li><i><a href="/wiki/Rutland_Weekend_Television" title="Rutland Weekend Television">Rutland Weekend Television</a></i></li>\n<li><i><a href="/wiki/Fawlty_Towers" title="Fawlty Towers">Fawlty Towers</a></i></li>\n<li><i><a href="/wiki/Ripping_Yarns" title="Ripping Yarns">Ripping Yarns</a></i></li>\n<li><i><a href="/wiki/Out_of_the_Trees" title="Out of the Trees">Out of the Trees</a></i></li>\n<li><i><a href="/wiki/A_Poke_in_the_Eye_(With_a_Sharp_Stick)" title="A Poke in the Eye (With a Sharp Stick)">A Poke in the Eye (With a Sharp Stick)</a></i></li>\n<li><i><a href="/wiki/Monty_Python_v._American_Broadcasting_Companies,_Inc." title="Monty Python v. American Broadcasting Companies, Inc.">Monty Python v. ABC</a></i></li>\n<li><i><a href="/wiki/Python_On_Song" title="Python On Song">Python On Song</a></i></li>\n<li><i><a href="/wiki/All_You_Need_Is_Cash" title="All You Need Is Cash">All You Need Is Cash</a></i></li>\n<li><i><a href="/wiki/The_Secret_Policeman%27s_Ball" title="The Secret Policeman&#39;s Ball">The Secret Policeman\'s Ball</a></i></li>\n<li><i><a href="/wiki/A_Liar%27s_Autobiography:_Volume_VI" title="A Liar&#39;s Autobiography: Volume VI">A Liar\'s Autobiography: Volume VI</a></i></li>\n<li><i><a href="/wiki/The_Hastily_Cobbled_Together_for_a_Fast_Buck_Album" title="The Hastily Cobbled Together for a Fast Buck Album">The Hastily Cobbled Together for a Fast Buck Album</a></i></li>\n<li><i><a href="/wiki/The_Wind_in_the_Willows_(1996_film)" title="The Wind in the Willows (1996 film)">The Wind in the Willows</a></i></li>\n<li><i><a href="/wiki/Monty_Python_Live" title="Monty Python Live">Monty Python Live</a></i></li>\n<li><i><a href="/wiki/Concert_for_George" title="Concert for George">Concert for George</a></i></li>\n<li><i><a href="/wiki/Diaries_1969%E2%80%931979:_The_Python_Years" title="Diaries 1969–1979: The Python Years">Diaries 1969–1979: The Python Years</a></i></li>\n<li><i><a href="/wiki/The_Seventh_Python" title="The Seventh Python">The Seventh Python</a></i></li>\n<li><i><a href="/wiki/Holy_Flying_Circus" title="Holy Flying Circus">Holy Flying Circus</a></i></li>\n<li><i><a href="/wiki/A_Liar%27s_Autobiography:_The_Untrue_Story_of_Monty_Python%27s_Graham_Chapman" title="A Liar&#39;s Autobiography: The Untrue Story of Monty Python&#39;s Graham Chapman">A Liar\'s Autobiography: The Untrue Story of Monty Python\'s Graham Chapman</a></i></li>\n<li><i><a href="/wiki/Absolutely_Anything" title="Absolutely Anything">Absolutely Anything</a></i></li></ul>\n</div></td></tr></tbody></table></div>\n<div class="navbox-styles nomobile"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1061467846"/></div><div role="navigation" class="navbox" aria-labelledby="Graham_Chapman" style="padding:3px"><table class="nowraplinks mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1063604349"/><div class="navbar plainlinks hlist navbar-mini"><ul><li class="nv-view"><a href="/wiki/Template:Graham_Chapman" title="Template:Graham Chapman"><abbr title="View this template" style=";;background:none transparent;border:none;box-shadow:none;padding:0;">v</abbr></a></li><li class="nv-talk"><a href="/wiki/Template_talk:Graham_Chapman" title="Template talk:Graham Chapman"><abbr title="Discuss this template" style=";;background:none transparent;border:none;box-shadow:none;padding:0;">t</abbr></a></li><li class="nv-edit"><a class="external text" href="https://en.wikipedia.org/w/index.php?title=Template:Graham_Chapman&amp;action=edit"><abbr title="Edit this template" style=";;background:none transparent;border:none;box-shadow:none;padding:0;">e</abbr></a></li></ul></div><div id="Graham_Chapman" style="font-size:114%;margin:0 4em"><a href="/wiki/Graham_Chapman" title="Graham Chapman">Graham Chapman</a></div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%">Films written</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">\n<ul><li><i><a href="/wiki/The_Magic_Christian_(film)" title="The Magic Christian (film)">The Magic Christian</a></i> (1969)</li>\n<li><i><a href="/wiki/The_Rise_and_Rise_of_Michael_Rimmer" title="The Rise and Rise of Michael Rimmer">The Rise and Rise of Michael Rimmer</a></i> (1970)</li>\n<li><i><a href="/wiki/And_Now_for_Something_Completely_Different" title="And Now for Something Completely Different">And Now for Something Completely Different</a></i> (1971)</li>\n<li><i><a href="/wiki/Monty_Python_and_the_Holy_Grail" title="Monty Python and the Holy Grail">Monty Python and the Holy Grail</a></i> (1975)</li>\n<li><i><a href="/wiki/The_Odd_Job" title="The Odd Job">The Odd Job</a></i> (1978)</li>\n<li><i><a href="/wiki/Monty_Python%27s_Life_of_Brian" title="Monty Python&#39;s Life of Brian">Monty Python\'s Life of Brian</a></i> (1979)</li>\n<li><i><a href="/wiki/Monty_Python_Live_at_the_Hollywood_Bowl" title="Monty Python Live at the Hollywood Bowl">Monty Python Live at the Hollywood Bowl</a></i> (1982)</li>\n<li><i><a href="/wiki/Monty_Python%27s_The_Meaning_of_Life" title="Monty Python&#39;s The Meaning of Life">Monty Python\'s The Meaning of Life</a></i> (1983)</li>\n<li><i><a href="/wiki/Yellowbeard" title="Yellowbeard">Yellowbeard</a></i> (1983)</li>\n<li><i><a href="/wiki/Jake%27s_Journey" title="Jake&#39;s Journey">Jake\'s Journey</a></i> (1988)</li></ul>\n</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">TV series created</th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">\n<ul><li><i><a href="/wiki/The_Frost_Report" title="The Frost Report">The Frost Report</a></i> (1966–1967)</li>\n<li><i><a href="/wiki/At_Last_the_1948_Show" title="At Last the 1948 Show">At Last the 1948 Show</a></i> (1967)</li>\n<li><i><a class="mw-selflink selflink">Monty Python\'s Flying Circus</a></i> (1969–1974)</li>\n<li><i><a href="/wiki/Monty_Python%27s_Fliegender_Zirkus" title="Monty Python&#39;s Fliegender Zirkus">Monty Python\'s Fliegender Zirkus</a></i> (1972)</li></ul>\n</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Books written</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">\n<ul><li><i><a href="/wiki/A_Liar%27s_Autobiography" class="mw-redirect" title="A Liar&#39;s Autobiography">A Liar\'s Autobiography</a></i> (1980)</li></ul>\n</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Related</th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">\n<ul><li><a href="/wiki/Monty_Python" title="Monty Python">Monty Python</a></li>\n<li><i><a href="/wiki/A_Liar%27s_Autobiography:_The_Untrue_Story_of_Monty_Python%27s_Graham_Chapman" title="A Liar&#39;s Autobiography: The Untrue Story of Monty Python&#39;s Graham Chapman">A Liar\'s Autobiography: The Untrue Story of Monty Python\'s Graham Chapman</a></i> (2012)</li>\n<li><i><a href="/wiki/Monty_Python_Live_(Mostly)" title="Monty Python Live (Mostly)">Monty Python Live (Mostly)</a></i> (2014)</li></ul>\n</div></td></tr></tbody></table></div>\n<div class="navbox-styles nomobile"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1061467846"/></div><div role="navigation" class="navbox" aria-labelledby="Terry_Jones" style="padding:3px"><table class="nowraplinks hlist mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1063604349"/><div class="navbar plainlinks hlist navbar-mini"><ul><li class="nv-view"><a href="/wiki/Template:Terry_Jones" title="Template:Terry Jones"><abbr title="View this template" style=";;background:none transparent;border:none;box-shadow:none;padding:0;">v</abbr></a></li><li class="nv-talk"><a href="/wiki/Template_talk:Terry_Jones" title="Template talk:Terry Jones"><abbr title="Discuss this template" style=";;background:none transparent;border:none;box-shadow:none;padding:0;">t</abbr></a></li><li class="nv-edit"><a class="external text" href="https://en.wikipedia.org/w/index.php?title=Template:Terry_Jones&amp;action=edit"><abbr title="Edit this template" style=";;background:none transparent;border:none;box-shadow:none;padding:0;">e</abbr></a></li></ul></div><div id="Terry_Jones" style="font-size:114%;margin:0 4em"><a href="/wiki/Terry_Jones" title="Terry Jones">Terry Jones</a></div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%">Films directed</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">\n<ul><li><i><a href="/wiki/Monty_Python_and_the_Holy_Grail" title="Monty Python and the Holy Grail">Monty Python and the Holy Grail</a></i> (1975)</li>\n<li><i><a href="/wiki/Monty_Python%27s_Life_of_Brian" title="Monty Python&#39;s Life of Brian">Monty Python\'s Life of Brian</a></i> (1979)</li>\n<li><i><a href="/wiki/Monty_Python%27s_The_Meaning_of_Life" title="Monty Python&#39;s The Meaning of Life">Monty Python\'s The Meaning of Life</a></i> (1983)</li>\n<li><i><a href="/wiki/Personal_Services" title="Personal Services">Personal Services</a></i> (1987)</li>\n<li><i><a href="/wiki/Erik_the_Viking" title="Erik the Viking">Erik the Viking</a></i> (1989)</li>\n<li><i><a href="/wiki/The_Wind_in_the_Willows_(1996_film)" title="The Wind in the Willows (1996 film)">The Wind in the Willows</a></i> (1996)</li>\n<li><i><a href="/wiki/Absolutely_Anything" title="Absolutely Anything">Absolutely Anything</a></i> (2015)</li></ul>\n</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Films written only</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">\n<ul><li><i><a href="/wiki/And_Now_for_Something_Completely_Different" title="And Now for Something Completely Different">And Now for Something Completely Different</a></i> (1971)</li>\n<li><i><a href="/wiki/Monty_Python_Live_at_the_Hollywood_Bowl" title="Monty Python Live at the Hollywood Bowl">Monty Python Live at the Hollywood Bowl</a></i> (1982)</li>\n<li><i><a href="/wiki/Labyrinth_(1986_film)" title="Labyrinth (1986 film)">Labyrinth</a></i> (1986)</li>\n<li><i><a href="/wiki/Monty_Python_Live_(Mostly)" title="Monty Python Live (Mostly)">Monty Python Live (Mostly)</a></i> (2014)</li></ul>\n</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">TV series created</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">\n<ul><li><i><a href="/wiki/The_Complete_and_Utter_History_of_Britain" title="The Complete and Utter History of Britain">The Complete and Utter History of Britain</a></i> (1969)</li>\n<li><i><a class="mw-selflink selflink">Monty Python\'s Flying Circus</a></i> (1969–1974)</li>\n<li><i><a href="/wiki/Monty_Python%27s_Fliegender_Zirkus" title="Monty Python&#39;s Fliegender Zirkus">Monty Python\'s Fliegender Zirkus</a></i> (1972)</li>\n<li><i><a href="/wiki/Ripping_Yarns" title="Ripping Yarns">Ripping Yarns</a></i> (1976–1979)</li>\n<li><i><a href="/wiki/Crusades_(TV_series)" title="Crusades (TV series)">Crusades</a></i> (1995)</li>\n<li><i><a href="/wiki/Blazing_Dragons" title="Blazing Dragons">Blazing Dragons</a></i> (1996–1998)</li>\n<li><i><a href="/wiki/Ancient_Inventions" title="Ancient Inventions">Ancient Inventions</a></i> (1998)</li>\n<li><i><a href="/wiki/Terry_Jones%27_Medieval_Lives" title="Terry Jones&#39; Medieval Lives">Terry Jones\' Medieval Lives</a></i> (2004)</li>\n<li><i><a href="/wiki/The_Story_of_1" title="The Story of 1">The Story of 1</a></i> (2005)</li>\n<li><i><a href="/wiki/Terry_Jones%27_Barbarians" title="Terry Jones&#39; Barbarians">Terry Jones\' Barbarians</a></i> (2006)</li>\n<li><i><a href="/wiki/Boom_Bust_Boom" title="Boom Bust Boom">Boom Bust Boom</a></i> (2016)</li></ul>\n</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Video games</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">\n<ul><li><i><a href="/wiki/Monty_Python_%26_the_Quest_for_the_Holy_Grail" title="Monty Python &amp; the Quest for the Holy Grail">Monty Python &amp; the Quest for the Holy Grail</a></i> (1996)</li>\n<li><i><a href="/wiki/Blazing_Dragons_(video_game)" title="Blazing Dragons (video game)">Blazing Dragons</a></i> (1996)</li></ul>\n</div></td></tr></tbody></table></div>\n<style data-mw-deduplicate="TemplateStyles:r1093522707">.mw-parser-output .portal-bar{font-size:88%;font-weight:bold;display:flex;justify-content:center;align-items:baseline}.mw-parser-output .portal-bar-bordered{padding:0 2em;background-color:#fdfdfd;border:1px solid #a2a9b1;clear:both;margin:1em auto 0}.mw-parser-output .portal-bar-related{font-size:100%;justify-content:flex-start}.mw-parser-output .portal-bar-unbordered{padding:0 1.7em;margin-left:0}.mw-parser-output .portal-bar-header{margin:0 1em 0 0.5em;flex:0 0 auto;min-height:24px}.mw-parser-output .portal-bar-content{display:flex;flex-flow:row wrap;flex:0 1 auto;padding:0.15em 0;column-gap:1em;align-items:baseline}.mw-parser-output .portal-bar-content-related{}.mw-parser-output .portal-bar-item{display:inline-block;margin:0.15em 0.2em;min-height:24px;line-height:24px}@media screen and (max-width:768px){.mw-parser-output .portal-bar{font-size:88%;font-weight:bold;display:flex;flex-flow:column wrap;align-items:baseline}.mw-parser-output .portal-bar-header{text-align:center;flex:0;padding-left:0.5em;margin:0 auto}.mw-parser-output .portal-bar-related{font-size:100%;align-items:flex-start}.mw-parser-output .portal-bar-content{display:flex;flex-flow:row wrap;align-items:center;flex:0;column-gap:1em;border-top:1px solid #a2a9b1;margin:0 auto}.mw-parser-output .portal-bar-content-related{border-top:none;margin:0}}.mw-parser-output .navbox+link+.portal-bar-bordered{margin-top:-1px}.mw-parser-output .navbox+style+.portal-bar-bordered{margin-top:-1px}.mw-parser-output .portal-bar+.navbox-styles+.navbox{margin-top:-1px}</style><div class="portal-bar noprint metadata noviewer portal-bar-bordered" role="navigation" aria-label="Portals"><span class="portal-bar-header"><a href="/wiki/Wikipedia:Contents/Portals" title="Wikipedia:Contents/Portals">Portal</a>:</span><div class="portal-bar-content"><span class="portal-bar-item"><a href="/wiki/File:Blank_television_set.svg" class="image"><img alt="icon" src="//upload.wikimedia.org/wikipedia/commons/thumb/8/8c/Blank_television_set.svg/21px-Blank_television_set.svg.png" decoding="async" width="21" height="14" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/8/8c/Blank_television_set.svg/32px-Blank_television_set.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/8/8c/Blank_television_set.svg/42px-Blank_television_set.svg.png 2x" data-file-width="138" data-file-height="92" /></a>&#160;<a href="/wiki/Portal:Television" title="Portal:Television">Television</a></span></div></div>\n<div class="navbox-styles nomobile"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1061467846"/></div><div role="navigation" class="navbox authority-control" aria-labelledby="Authority_control_frameless&amp;#124;text-top&amp;#124;10px&amp;#124;alt=Edit_this_at_Wikidata&amp;#124;link=https&amp;#58;//www.wikidata.org/wiki/Q16401#identifiers&amp;#124;class=noprint&amp;#124;Edit_this_at_Wikidata" style="padding:3px"><table class="nowraplinks hlist mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><div id="Authority_control_frameless&amp;#124;text-top&amp;#124;10px&amp;#124;alt=Edit_this_at_Wikidata&amp;#124;link=https&amp;#58;//www.wikidata.org/wiki/Q16401#identifiers&amp;#124;class=noprint&amp;#124;Edit_this_at_Wikidata" style="font-size:114%;margin:0 4em"><a href="/wiki/Help:Authority_control" title="Help:Authority control">Authority control</a> <a href="https://www.wikidata.org/wiki/Q16401#identifiers" title="Edit this at Wikidata"><img alt="Edit this at Wikidata" src="//upload.wikimedia.org/wikipedia/en/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/10px-OOjs_UI_icon_edit-ltr-progressive.svg.png" decoding="async" width="10" height="10" style="vertical-align: text-top" class="noprint" srcset="//upload.wikimedia.org/wikipedia/en/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/15px-OOjs_UI_icon_edit-ltr-progressive.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/20px-OOjs_UI_icon_edit-ltr-progressive.svg.png 2x" data-file-width="20" data-file-height="20" /></a></div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%">General</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">\n<ul><li><a href="/wiki/VIAF_(identifier)" class="mw-redirect" title="VIAF (identifier)">VIAF</a>\n<ul><li><span class="uid"><a rel="nofollow" class="external text" href="https://viaf.org/viaf/305699369">1</a></span></li>\n<li><span class="uid"><a rel="nofollow" class="external text" href="https://viaf.org/viaf/190889527">2</a></span></li></ul></li>\n<li><span class="nowrap"><a rel="nofollow" class="external text" href="https://www.worldcat.org/identities/containsVIAFID/305699369">WorldCat (via VIAF)</a></span></li></ul>\n</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">National libraries</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">\n<ul><li><span class="uid"><a rel="nofollow" class="external text" href="https://authority.bibsys.no/authority/rest/authorities/html/90612382">Norway</a></span></li>\n<li><span class="uid"><a rel="nofollow" class="external text" href="http://catalogo.bne.es/uhtbin/authoritybrowse.cgi?action=display&amp;authority_id=XX4653918">Spain</a></span></li>\n<li><span class="uid"><a rel="nofollow" class="external text" href="https://catalogue.bnf.fr/ark:/12148/cb15030527w">France</a> <a rel="nofollow" class="external text" href="https://data.bnf.fr/ark:/12148/cb15030527w">(data)</a></span></li>\n<li><span class="uid"><a rel="nofollow" class="external text" href="https://d-nb.info/gnd/4375260-3">Germany</a></span></li>\n<li><span class="uid"><a rel="nofollow" class="external text" href="http://uli.nli.org.il/F/?func=find-b&amp;local_base=NLX10&amp;find_code=UID&amp;request=987007381598405171">Israel</a></span></li>\n<li><span class="uid"><a rel="nofollow" class="external text" href="https://id.loc.gov/authorities/names/n88253100">United States</a></span></li></ul>\n</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Other</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">\n<ul><li><a href="/wiki/SUDOC_(identifier)" class="mw-redirect" title="SUDOC (identifier)">SUDOC (France)</a>\n<ul><li><span class="uid"><a rel="nofollow" class="external text" href="https://www.idref.fr/148509371">1</a></span></li></ul></li></ul>\n</div></td></tr></tbody></table></div>\n<!-- \nNewPP limit report\nParsed by mw1332\nCached time: 20220721165317\nCache expiry: 1814400\nReduced expiry: false\nComplications: [vary‐revision‐sha1]\nCPU time usage: 1.795 seconds\nReal time usage: 2.092 seconds\nPreprocessor visited node count: 7131/1000000\nPost‐expand include size: 190714/2097152 bytes\nTemplate argument size: 12743/2097152 bytes\nHighest expansion depth: 22/100\nExpensive parser function count: 21/500\nUnstrip recursion depth: 1/20\nUnstrip post‐expand size: 156754/5000000 bytes\nLua time usage: 1.020/10.000 seconds\nLua memory usage: 10836229/52428800 bytes\nLua Profile:\n    ?                                                                320 ms       27.6%\n    Scribunto_LuaSandboxCallback::getExpandedArgument                160 ms       13.8%\n    Scribunto_LuaSandboxCallback::callParserFunction                 140 ms       12.1%\n    Scribunto_LuaSandboxCallback::match                               80 ms        6.9%\n    Scribunto_LuaSandboxCallback::getExpensiveData                    60 ms        5.2%\n    (for generator) <mw.lua:673>                                      40 ms        3.4%\n    gsub                                                              40 ms        3.4%\n    dataWrapper <mw.lua:669>                                          40 ms        3.4%\n    Scribunto_LuaSandboxCallback::sub                                 40 ms        3.4%\n    Scribunto_LuaSandboxCallback::interwikiMap                        20 ms        1.7%\n    [others]                                                         220 ms       19.0%\nNumber of Wikibase entities loaded: 1/400\n-->\n<!--\nTransclusion expansion time report (%,ms,calls,template)\n100.00% 1809.431      1 -total\n 31.85%  576.349      1 Template:Reflist\n 12.36%  223.717     13 Template:Cite_news\n 10.78%  195.027      1 Template:Infobox_television\n 10.17%  183.953     10 Template:Citation_needed\n  9.46%  171.234      1 Template:Infobox\n  9.36%  169.353     13 Template:Fix\n  7.95%  143.898     19 Template:Cite_web\n  6.06%  109.620      3 Template:Navbox\n  5.90%  106.732      4 Template:Sfn\n-->\n\n<!-- Saved in parser cache with key enwiki:pcache:idhash:23372115-0!canonical and timestamp 20220721165315 and revision id 1099482818.\n -->\n</div><noscript><img src="//en.wikipedia.org/wiki/Special:CentralAutoLogin/start?type=1x1" alt="" title="" width="1" height="1" style="border: none; position: absolute;" /></noscript>\n<div class="printfooter">Retrieved from "<a dir="ltr" href="https://en.wikipedia.org/w/index.php?title=Monty_Python%27s_Flying_Circus&amp;oldid=1099482818">https://en.wikipedia.org/w/index.php?title=Monty_Python%27s_Flying_Circus&amp;oldid=1099482818</a>"</div></div>\n\t\t<div id="catlinks" class="catlinks" data-mw="interface"><div id="mw-normal-catlinks" class="mw-normal-catlinks"><a href="/wiki/Help:Category" title="Help:Category">Categories</a>: <ul><li><a href="/wiki/Category:1969_British_television_series_debuts" title="Category:1969 British television series debuts">1969 British television series debuts</a></li><li><a href="/wiki/Category:1974_British_television_series_endings" title="Category:1974 British television series endings">1974 British television series endings</a></li><li><a href="/wiki/Category:1960s_British_television_sketch_shows" title="Category:1960s British television sketch shows">1960s British television sketch shows</a></li><li><a href="/wiki/Category:1970s_British_television_sketch_shows" title="Category:1970s British television sketch shows">1970s British television sketch shows</a></li><li><a href="/wiki/Category:BBC_television_sketch_shows" title="Category:BBC television sketch shows">BBC television sketch shows</a></li><li><a href="/wiki/Category:BBC_black_comedy_television_shows" title="Category:BBC black comedy television shows">BBC black comedy television shows</a></li><li><a href="/wiki/Category:British_satirical_television_series" title="Category:British satirical television series">British satirical television series</a></li><li><a href="/wiki/Category:English-language_television_shows" title="Category:English-language television shows">English-language television shows</a></li><li><a href="/wiki/Category:Metafictional_television_series" title="Category:Metafictional television series">Metafictional television series</a></li><li><a href="/wiki/Category:Television_series_about_television" title="Category:Television series about television">Television series about television</a></li><li><a href="/wiki/Category:Monty_Python" title="Category:Monty Python">Monty Python</a></li><li><a href="/wiki/Category:Postmodern_works" title="Category:Postmodern works">Postmodern works</a></li><li><a href="/wiki/Category:Surreal_comedy_television_series" title="Category:Surreal comedy television series">Surreal comedy television series</a></li><li><a href="/wiki/Category:Self-reflexive_television" title="Category:Self-reflexive television">Self-reflexive television</a></li><li><a href="/wiki/Category:Television_shows_adapted_into_films" title="Category:Television shows adapted into films">Television shows adapted into films</a></li><li><a href="/wiki/Category:Television_shows_adapted_into_video_games" title="Category:Television shows adapted into video games">Television shows adapted into video games</a></li><li><a href="/wiki/Category:British_television_series_with_live_action_and_animation" title="Category:British television series with live action and animation">British television series with live action and animation</a></li></ul></div><div id="mw-hidden-catlinks" class="mw-hidden-catlinks mw-hidden-cats-hidden">Hidden categories: <ul><li><a href="/wiki/Category:All_articles_with_dead_YouTube_links" title="Category:All articles with dead YouTube links">All articles with dead YouTube links</a></li><li><a href="/wiki/Category:Articles_with_dead_YouTube_links_from_February_2022" title="Category:Articles with dead YouTube links from February 2022">Articles with dead YouTube links from February 2022</a></li><li><a href="/wiki/Category:CS1_maint:_uses_authors_parameter" title="Category:CS1 maint: uses authors parameter">CS1 maint: uses authors parameter</a></li><li><a href="/wiki/Category:Harv_and_Sfn_no-target_errors" title="Category:Harv and Sfn no-target errors">Harv and Sfn no-target errors</a></li><li><a href="/wiki/Category:CS1_Danish-language_sources_(da)" title="Category:CS1 Danish-language sources (da)">CS1 Danish-language sources (da)</a></li><li><a href="/wiki/Category:Articles_with_short_description" title="Category:Articles with short description">Articles with short description</a></li><li><a href="/wiki/Category:Short_description_matches_Wikidata" title="Category:Short description matches Wikidata">Short description matches Wikidata</a></li><li><a href="/wiki/Category:Use_British_English_from_June_2016" title="Category:Use British English from June 2016">Use British English from June 2016</a></li><li><a href="/wiki/Category:Use_dmy_dates_from_June_2016" title="Category:Use dmy dates from June 2016">Use dmy dates from June 2016</a></li><li><a href="/wiki/Category:Pages_using_infobox_television_with_unnecessary_name_parameter" title="Category:Pages using infobox television with unnecessary name parameter">Pages using infobox television with unnecessary name parameter</a></li><li><a href="/wiki/Category:All_articles_with_unsourced_statements" title="Category:All articles with unsourced statements">All articles with unsourced statements</a></li><li><a href="/wiki/Category:Articles_with_unsourced_statements_from_January_2019" title="Category:Articles with unsourced statements from January 2019">Articles with unsourced statements from January 2019</a></li><li><a href="/wiki/Category:Articles_with_unsourced_statements_from_March_2012" title="Category:Articles with unsourced statements from March 2012">Articles with unsourced statements from March 2012</a></li><li><a href="/wiki/Category:Official_website_different_in_Wikidata_and_Wikipedia" title="Category:Official website different in Wikidata and Wikipedia">Official website different in Wikidata and Wikipedia</a></li><li><a href="/wiki/Category:IMDb_ID_same_as_Wikidata" title="Category:IMDb ID same as Wikidata">IMDb ID same as Wikidata</a></li><li><a href="/wiki/Category:Articles_with_VIAF_identifiers" title="Category:Articles with VIAF identifiers">Articles with VIAF identifiers</a></li><li><a href="/wiki/Category:Articles_with_BIBSYS_identifiers" title="Category:Articles with BIBSYS identifiers">Articles with BIBSYS identifiers</a></li><li><a href="/wiki/Category:Articles_with_BNE_identifiers" title="Category:Articles with BNE identifiers">Articles with BNE identifiers</a></li><li><a href="/wiki/Category:Articles_with_BNF_identifiers" title="Category:Articles with BNF identifiers">Articles with BNF identifiers</a></li><li><a href="/wiki/Category:Articles_with_GND_identifiers" title="Category:Articles with GND identifiers">Articles with GND identifiers</a></li><li><a href="/wiki/Category:Articles_with_J9U_identifiers" title="Category:Articles with J9U identifiers">Articles with J9U identifiers</a></li><li><a href="/wiki/Category:Articles_with_LCCN_identifiers" title="Category:Articles with LCCN identifiers">Articles with LCCN identifiers</a></li><li><a href="/wiki/Category:Articles_with_SUDOC_identifiers" title="Category:Articles with SUDOC identifiers">Articles with SUDOC identifiers</a></li><li><a href="/wiki/Category:Articles_with_WorldCat-VIAF_identifiers" title="Category:Articles with WorldCat-VIAF identifiers">Articles with WorldCat-VIAF identifiers</a></li><li><a href="/wiki/Category:Articles_with_multiple_identifiers" title="Category:Articles with multiple identifiers">Articles with multiple identifiers</a></li></ul></div></div>\n\t</div>\n</div>\n\n<div id="mw-navigation">\n\t<h2>Navigation menu</h2>\n\t<div id="mw-head">\n\t\t\n\n<nav id="p-personal" class="vector-menu mw-portlet mw-portlet-personal vector-user-menu-legacy" aria-labelledby="p-personal-label" role="navigation"  >\n\t<h3\n\t\tid="p-personal-label"\n\t\t\n\t\tclass="vector-menu-heading "\n\t>\n\t\t<span class="vector-menu-heading-label">Personal tools</span>\n\t</h3>\n\t<div class="vector-menu-content">\n\t\t\n\t\t<ul class="vector-menu-content-list"><li id="pt-anonuserpage" class="mw-list-item"><span title="The user page for the IP address you are editing as">Not logged in</span></li><li id="pt-anontalk" class="mw-list-item"><a href="/wiki/Special:MyTalk" title="Discussion about edits from this IP address [n]" accesskey="n"><span>Talk</span></a></li><li id="pt-anoncontribs" class="mw-list-item"><a href="/wiki/Special:MyContributions" title="A list of edits made from this IP address [y]" accesskey="y"><span>Contributions</span></a></li><li id="pt-createaccount" class="mw-list-item"><a href="/w/index.php?title=Special:CreateAccount&amp;returnto=Monty+Python%27s+Flying+Circus" title="You are encouraged to create an account and log in; however, it is not mandatory"><span>Create account</span></a></li><li id="pt-login" class="mw-list-item"><a href="/w/index.php?title=Special:UserLogin&amp;returnto=Monty+Python%27s+Flying+Circus" title="You&#039;re encouraged to log in; however, it&#039;s not mandatory. [o]" accesskey="o"><span>Log in</span></a></li></ul>\n\t\t\n\t</div>\n</nav>\n\n\t\t<div id="left-navigation">\n\t\t\t\n\n<nav id="p-namespaces" class="vector-menu mw-portlet mw-portlet-namespaces vector-menu-tabs vector-menu-tabs-legacy" aria-labelledby="p-namespaces-label" role="navigation"  >\n\t<h3\n\t\tid="p-namespaces-label"\n\t\t\n\t\tclass="vector-menu-heading "\n\t>\n\t\t<span class="vector-menu-heading-label">Namespaces</span>\n\t</h3>\n\t<div class="vector-menu-content">\n\t\t\n\t\t<ul class="vector-menu-content-list"><li id="ca-nstab-main" class="selected mw-list-item"><a href="/wiki/Monty_Python%27s_Flying_Circus" title="View the content page [c]" accesskey="c"><span>Article</span></a></li><li id="ca-talk" class="mw-list-item"><a href="/wiki/Talk:Monty_Python%27s_Flying_Circus" rel="discussion" title="Discuss improvements to the content page [t]" accesskey="t"><span>Talk</span></a></li></ul>\n\t\t\n\t</div>\n</nav>\n\n\t\t\t\n\n<nav id="p-variants" class="vector-menu mw-portlet mw-portlet-variants emptyPortlet vector-menu-dropdown-noicon vector-menu-dropdown" aria-labelledby="p-variants-label" role="navigation"  >\n\t<input type="checkbox"\n\t\tid="p-variants-checkbox"\n\t\trole="button"\n\t\taria-haspopup="true"\n\t\tdata-event-name="ui.dropdown-p-variants"\n\t\tclass="vector-menu-checkbox"\n\t\taria-labelledby="p-variants-label"\n\t/>\n\t<label\n\t\tid="p-variants-label"\n\t\t aria-label="Change language variant"\n\t\tclass="vector-menu-heading "\n\t>\n\t\t<span class="vector-menu-heading-label">English</span>\n\t</label>\n\t<div class="vector-menu-content">\n\t\t\n\t\t<ul class="vector-menu-content-list"></ul>\n\t\t\n\t</div>\n</nav>\n\n\t\t</div>\n\t\t<div id="right-navigation">\n\t\t\t\n\n<nav id="p-views" class="vector-menu mw-portlet mw-portlet-views vector-menu-tabs vector-menu-tabs-legacy" aria-labelledby="p-views-label" role="navigation"  >\n\t<h3\n\t\tid="p-views-label"\n\t\t\n\t\tclass="vector-menu-heading "\n\t>\n\t\t<span class="vector-menu-heading-label">Views</span>\n\t</h3>\n\t<div class="vector-menu-content">\n\t\t\n\t\t<ul class="vector-menu-content-list"><li id="ca-view" class="selected mw-list-item"><a href="/wiki/Monty_Python%27s_Flying_Circus"><span>Read</span></a></li><li id="ca-edit" class="mw-list-item"><a href="/w/index.php?title=Monty_Python%27s_Flying_Circus&amp;action=edit" title="Edit this page [e]" accesskey="e"><span>Edit</span></a></li><li id="ca-history" class="mw-list-item"><a href="/w/index.php?title=Monty_Python%27s_Flying_Circus&amp;action=history" title="Past revisions of this page [h]" accesskey="h"><span>View history</span></a></li></ul>\n\t\t\n\t</div>\n</nav>\n\n\t\t\t\n\n<nav id="p-cactions" class="vector-menu mw-portlet mw-portlet-cactions emptyPortlet vector-menu-dropdown-noicon vector-menu-dropdown" aria-labelledby="p-cactions-label" role="navigation"  title="More options" >\n\t<input type="checkbox"\n\t\tid="p-cactions-checkbox"\n\t\trole="button"\n\t\taria-haspopup="true"\n\t\tdata-event-name="ui.dropdown-p-cactions"\n\t\tclass="vector-menu-checkbox"\n\t\taria-labelledby="p-cactions-label"\n\t/>\n\t<label\n\t\tid="p-cactions-label"\n\t\t\n\t\tclass="vector-menu-heading "\n\t>\n\t\t<span class="vector-menu-heading-label">More</span>\n\t</label>\n\t<div class="vector-menu-content">\n\t\t\n\t\t<ul class="vector-menu-content-list"></ul>\n\t\t\n\t</div>\n</nav>\n\n\t\t\t\n<div id="p-search" role="search" class="vector-search-box-vue  vector-search-box-show-thumbnail vector-search-box-auto-expand-width vector-search-box">\n\t<div>\n\t\t\t<h3 >\n\t\t\t\t<label for="searchInput">Search</label>\n\t\t\t</h3>\n\t\t<form action="/w/index.php" id="searchform"\n\t\t\tclass="vector-search-box-form">\n\t\t\t<div id="simpleSearch"\n\t\t\t\tclass="vector-search-box-inner"\n\t\t\t\t data-search-loc="header-navigation">\n\t\t\t\t<input class="vector-search-box-input"\n\t\t\t\t\t type="search" name="search" placeholder="Search Wikipedia" aria-label="Search Wikipedia" autocapitalize="sentences" title="Search Wikipedia [f]" accesskey="f" id="searchInput"\n\t\t\t\t>\n\t\t\t\t<input type="hidden" name="title" value="Special:Search">\n\t\t\t\t<input id="mw-searchButton"\n\t\t\t\t\t class="searchButton mw-fallbackSearchButton" type="submit" name="fulltext" title="Search Wikipedia for this text" value="Search">\n\t\t\t\t<input id="searchButton"\n\t\t\t\t\t class="searchButton" type="submit" name="go" title="Go to a page with this exact name if it exists" value="Go">\n\t\t\t</div>\n\t\t</form>\n\t</div>\n</div>\n\n\t\t</div>\n\t</div>\n\t\n\n<div id="mw-panel">\n\t<div id="p-logo" role="banner">\n\t\t<a class="mw-wiki-logo" href="/wiki/Main_Page"\n\t\t\ttitle="Visit the main page"></a>\n\t</div>\n\t\n\n<nav id="p-navigation" class="vector-menu mw-portlet mw-portlet-navigation vector-menu-portal portal" aria-labelledby="p-navigation-label" role="navigation"  >\n\t<h3\n\t\tid="p-navigation-label"\n\t\t\n\t\tclass="vector-menu-heading "\n\t>\n\t\t<span class="vector-menu-heading-label">Navigation</span>\n\t</h3>\n\t<div class="vector-menu-content">\n\t\t\n\t\t<ul class="vector-menu-content-list"><li id="n-mainpage-description" class="mw-list-item"><a href="/wiki/Main_Page" title="Visit the main page [z]" accesskey="z"><span>Main page</span></a></li><li id="n-contents" class="mw-list-item"><a href="/wiki/Wikipedia:Contents" title="Guides to browsing Wikipedia"><span>Contents</span></a></li><li id="n-currentevents" class="mw-list-item"><a href="/wiki/Portal:Current_events" title="Articles related to current events"><span>Current events</span></a></li><li id="n-randompage" class="mw-list-item"><a href="/wiki/Special:Random" title="Visit a randomly selected article [x]" accesskey="x"><span>Random article</span></a></li><li id="n-aboutsite" class="mw-list-item"><a href="/wiki/Wikipedia:About" title="Learn about Wikipedia and how it works"><span>About Wikipedia</span></a></li><li id="n-contactpage" class="mw-list-item"><a href="//en.wikipedia.org/wiki/Wikipedia:Contact_us" title="How to contact Wikipedia"><span>Contact us</span></a></li><li id="n-sitesupport" class="mw-list-item"><a href="https://donate.wikimedia.org/wiki/Special:FundraiserRedirector?utm_source=donate&amp;utm_medium=sidebar&amp;utm_campaign=C13_en.wikipedia.org&amp;uselang=en" title="Support us by donating to the Wikimedia Foundation"><span>Donate</span></a></li></ul>\n\t\t\n\t</div>\n</nav>\n\n\t\n\n<nav id="p-interaction" class="vector-menu mw-portlet mw-portlet-interaction vector-menu-portal portal" aria-labelledby="p-interaction-label" role="navigation"  >\n\t<h3\n\t\tid="p-interaction-label"\n\t\t\n\t\tclass="vector-menu-heading "\n\t>\n\t\t<span class="vector-menu-heading-label">Contribute</span>\n\t</h3>\n\t<div class="vector-menu-content">\n\t\t\n\t\t<ul class="vector-menu-content-list"><li id="n-help" class="mw-list-item"><a href="/wiki/Help:Contents" title="Guidance on how to use and edit Wikipedia"><span>Help</span></a></li><li id="n-introduction" class="mw-list-item"><a href="/wiki/Help:Introduction" title="Learn how to edit Wikipedia"><span>Learn to edit</span></a></li><li id="n-portal" class="mw-list-item"><a href="/wiki/Wikipedia:Community_portal" title="The hub for editors"><span>Community portal</span></a></li><li id="n-recentchanges" class="mw-list-item"><a href="/wiki/Special:RecentChanges" title="A list of recent changes to Wikipedia [r]" accesskey="r"><span>Recent changes</span></a></li><li id="n-upload" class="mw-list-item"><a href="/wiki/Wikipedia:File_Upload_Wizard" title="Add images or other media for use on Wikipedia"><span>Upload file</span></a></li></ul>\n\t\t\n\t</div>\n</nav>\n\n\n<nav id="p-tb" class="vector-menu mw-portlet mw-portlet-tb vector-menu-portal portal" aria-labelledby="p-tb-label" role="navigation"  >\n\t<h3\n\t\tid="p-tb-label"\n\t\t\n\t\tclass="vector-menu-heading "\n\t>\n\t\t<span class="vector-menu-heading-label">Tools</span>\n\t</h3>\n\t<div class="vector-menu-content">\n\t\t\n\t\t<ul class="vector-menu-content-list"><li id="t-whatlinkshere" class="mw-list-item"><a href="/wiki/Special:WhatLinksHere/Monty_Python%27s_Flying_Circus" title="List of all English Wikipedia pages containing links to this page [j]" accesskey="j"><span>What links here</span></a></li><li id="t-recentchangeslinked" class="mw-list-item"><a href="/wiki/Special:RecentChangesLinked/Monty_Python%27s_Flying_Circus" rel="nofollow" title="Recent changes in pages linked from this page [k]" accesskey="k"><span>Related changes</span></a></li><li id="t-upload" class="mw-list-item"><a href="/wiki/Wikipedia:File_Upload_Wizard" title="Upload files [u]" accesskey="u"><span>Upload file</span></a></li><li id="t-specialpages" class="mw-list-item"><a href="/wiki/Special:SpecialPages" title="A list of all special pages [q]" accesskey="q"><span>Special pages</span></a></li><li id="t-permalink" class="mw-list-item"><a href="/w/index.php?title=Monty_Python%27s_Flying_Circus&amp;oldid=1099482818" title="Permanent link to this revision of this page"><span>Permanent link</span></a></li><li id="t-info" class="mw-list-item"><a href="/w/index.php?title=Monty_Python%27s_Flying_Circus&amp;action=info" title="More information about this page"><span>Page information</span></a></li><li id="t-cite" class="mw-list-item"><a href="/w/index.php?title=Special:CiteThisPage&amp;page=Monty_Python%27s_Flying_Circus&amp;id=1099482818&amp;wpFormIdentifier=titleform" title="Information on how to cite this page"><span>Cite this page</span></a></li><li id="t-wikibase" class="mw-list-item"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q16401" title="Structured data on this page hosted by Wikidata [g]" accesskey="g"><span>Wikidata item</span></a></li></ul>\n\t\t\n\t</div>\n</nav>\n\n\n<nav id="p-coll-print_export" class="vector-menu mw-portlet mw-portlet-coll-print_export vector-menu-portal portal" aria-labelledby="p-coll-print_export-label" role="navigation"  >\n\t<h3\n\t\tid="p-coll-print_export-label"\n\t\t\n\t\tclass="vector-menu-heading "\n\t>\n\t\t<span class="vector-menu-heading-label">Print/export</span>\n\t</h3>\n\t<div class="vector-menu-content">\n\t\t\n\t\t<ul class="vector-menu-content-list"><li id="coll-download-as-rl" class="mw-list-item"><a href="/w/index.php?title=Special:DownloadAsPdf&amp;page=Monty_Python%27s_Flying_Circus&amp;action=show-download-screen" title="Download this page as a PDF file"><span>Download as PDF</span></a></li><li id="t-print" class="mw-list-item"><a href="/w/index.php?title=Monty_Python%27s_Flying_Circus&amp;printable=yes" title="Printable version of this page [p]" accesskey="p"><span>Printable version</span></a></li></ul>\n\t\t\n\t</div>\n</nav>\n\n\n<nav id="p-wikibase-otherprojects" class="vector-menu mw-portlet mw-portlet-wikibase-otherprojects vector-menu-portal portal" aria-labelledby="p-wikibase-otherprojects-label" role="navigation"  >\n\t<h3\n\t\tid="p-wikibase-otherprojects-label"\n\t\t\n\t\tclass="vector-menu-heading "\n\t>\n\t\t<span class="vector-menu-heading-label">In other projects</span>\n\t</h3>\n\t<div class="vector-menu-content">\n\t\t\n\t\t<ul class="vector-menu-content-list"><li class="wb-otherproject-link wb-otherproject-wikiquote mw-list-item"><a href="https://en.wikiquote.org/wiki/Monty_Python%27s_Flying_Circus" hreflang="en"><span>Wikiquote</span></a></li></ul>\n\t\t\n\t</div>\n</nav>\n\n\t\n\n<nav id="p-lang" class="vector-menu mw-portlet mw-portlet-lang vector-menu-portal portal" aria-labelledby="p-lang-label" role="navigation"  >\n\t<h3\n\t\tid="p-lang-label"\n\t\t\n\t\tclass="vector-menu-heading "\n\t>\n\t\t<span class="vector-menu-heading-label">Languages</span>\n\t</h3>\n\t<div class="vector-menu-content">\n\t\t\n\t\t<ul class="vector-menu-content-list"><li class="interlanguage-link interwiki-ar mw-list-item"><a href="https://ar.wikipedia.org/wiki/%D8%B3%D9%8A%D8%B1%D9%83_%D9%85%D9%88%D9%86%D8%AA%D9%8A_%D8%A8%D8%A7%D9%8A%D8%AB%D9%88%D9%86_%D8%A7%D9%84%D8%B7%D8%A7%D8%A6%D8%B1" title="سيرك مونتي بايثون الطائر – Arabic" lang="ar" hreflang="ar" class="interlanguage-link-target"><span>العربية</span></a></li><li class="interlanguage-link interwiki-bg mw-list-item"><a href="https://bg.wikipedia.org/wiki/%D0%9B%D0%B5%D1%82%D1%8F%D1%89%D0%B8%D1%8F%D1%82_%D1%86%D0%B8%D1%80%D0%BA_%D0%BD%D0%B0_%D0%9C%D0%BE%D0%BD%D1%82%D0%B8_%D0%9F%D0%B0%D0%B9%D1%82%D1%8A%D0%BD" title="Летящият цирк на Монти Пайтън – Bulgarian" lang="bg" hreflang="bg" class="interlanguage-link-target"><span>Български</span></a></li><li class="interlanguage-link interwiki-ca mw-list-item"><a href="https://ca.wikipedia.org/wiki/Monty_Python%27s_Flying_Circus" title="Monty Python&#039;s Flying Circus – Catalan" lang="ca" hreflang="ca" class="interlanguage-link-target"><span>Català</span></a></li><li class="interlanguage-link interwiki-cs mw-list-item"><a href="https://cs.wikipedia.org/wiki/Monty_Python%C5%AFv_l%C3%A9taj%C3%ADc%C3%AD_cirkus" title="Monty Pythonův létající cirkus – Czech" lang="cs" hreflang="cs" class="interlanguage-link-target"><span>Čeština</span></a></li><li class="interlanguage-link interwiki-cy mw-list-item"><a href="https://cy.wikipedia.org/wiki/Monty_Python%27s_Flying_Circus" title="Monty Python&#039;s Flying Circus – Welsh" lang="cy" hreflang="cy" class="interlanguage-link-target"><span>Cymraeg</span></a></li><li class="interlanguage-link interwiki-da mw-list-item"><a href="https://da.wikipedia.org/wiki/Monty_Pythons_Flyvende_Cirkus" title="Monty Pythons Flyvende Cirkus – Danish" lang="da" hreflang="da" class="interlanguage-link-target"><span>Dansk</span></a></li><li class="interlanguage-link interwiki-de mw-list-item"><a href="https://de.wikipedia.org/wiki/Monty_Python%E2%80%99s_Flying_Circus" title="Monty Python’s Flying Circus – German" lang="de" hreflang="de" class="interlanguage-link-target"><span>Deutsch</span></a></li><li class="interlanguage-link interwiki-es mw-list-item"><a href="https://es.wikipedia.org/wiki/Monty_Python%27s_Flying_Circus" title="Monty Python&#039;s Flying Circus – Spanish" lang="es" hreflang="es" class="interlanguage-link-target"><span>Español</span></a></li><li class="interlanguage-link interwiki-eu mw-list-item"><a href="https://eu.wikipedia.org/wiki/Monty_Python%27s_Flying_Circus" title="Monty Python&#039;s Flying Circus – Basque" lang="eu" hreflang="eu" class="interlanguage-link-target"><span>Euskara</span></a></li><li class="interlanguage-link interwiki-fa mw-list-item"><a href="https://fa.wikipedia.org/wiki/%D8%B3%DB%8C%D8%B1%DA%A9_%D9%BE%D8%B1%D9%86%D8%AF%D9%87_%D9%85%D8%A7%D9%86%D8%AA%DB%8C_%D9%BE%D8%A7%DB%8C%D8%AA%D8%A7%D9%86" title="سیرک پرنده مانتی پایتان – Persian" lang="fa" hreflang="fa" class="interlanguage-link-target"><span>فارسی</span></a></li><li class="interlanguage-link interwiki-fr mw-list-item"><a href="https://fr.wikipedia.org/wiki/Monty_Python%27s_Flying_Circus" title="Monty Python&#039;s Flying Circus – French" lang="fr" hreflang="fr" class="interlanguage-link-target"><span>Français</span></a></li><li class="interlanguage-link interwiki-gl mw-list-item"><a href="https://gl.wikipedia.org/wiki/Monty_Python%27s_Flying_Circus" title="Monty Python&#039;s Flying Circus – Galician" lang="gl" hreflang="gl" class="interlanguage-link-target"><span>Galego</span></a></li><li class="interlanguage-link interwiki-ko mw-list-item"><a href="https://ko.wikipedia.org/wiki/%EB%AA%AC%ED%8B%B0_%ED%8C%8C%EC%9D%B4%ED%8A%BC%EC%9D%98_%EB%B9%84%ED%96%89_%EC%84%9C%EC%BB%A4%EC%8A%A4" title="몬티 파이튼의 비행 서커스 – Korean" lang="ko" hreflang="ko" class="interlanguage-link-target"><span>한국어</span></a></li><li class="interlanguage-link interwiki-hr mw-list-item"><a href="https://hr.wikipedia.org/wiki/Lete%C4%87i_cirkus_Montyja_Pythona" title="Leteći cirkus Montyja Pythona – Croatian" lang="hr" hreflang="hr" class="interlanguage-link-target"><span>Hrvatski</span></a></li><li class="interlanguage-link interwiki-id mw-list-item"><a href="https://id.wikipedia.org/wiki/Monty_Python%27s_Flying_Circus" title="Monty Python&#039;s Flying Circus – Indonesian" lang="id" hreflang="id" class="interlanguage-link-target"><span>Bahasa Indonesia</span></a></li><li class="interlanguage-link interwiki-it mw-list-item"><a href="https://it.wikipedia.org/wiki/Monty_Python%27s_Flying_Circus" title="Monty Python&#039;s Flying Circus – Italian" lang="it" hreflang="it" class="interlanguage-link-target"><span>Italiano</span></a></li><li class="interlanguage-link interwiki-he mw-list-item"><a href="https://he.wikipedia.org/wiki/%D7%94%D7%A7%D7%A8%D7%A7%D7%A1_%D7%94%D7%9E%D7%A2%D7%95%D7%A4%D7%A3_%D7%A9%D7%9C_%D7%9E%D7%95%D7%A0%D7%98%D7%99_%D7%A4%D7%99%D7%99%D7%AA%D7%95%D7%9F" title="הקרקס המעופף של מונטי פייתון – Hebrew" lang="he" hreflang="he" class="interlanguage-link-target"><span>עברית</span></a></li><li class="interlanguage-link interwiki-hu mw-list-item"><a href="https://hu.wikipedia.org/wiki/Monty_Python_Rep%C3%BCl%C5%91_Cirkusza" title="Monty Python Repülő Cirkusza – Hungarian" lang="hu" hreflang="hu" class="interlanguage-link-target"><span>Magyar</span></a></li><li class="interlanguage-link interwiki-mk mw-list-item"><a href="https://mk.wikipedia.org/wiki/%D0%9B%D0%B5%D1%82%D0%B5%D1%87%D0%BA%D0%B8%D0%BE%D1%82_%D1%86%D0%B8%D1%80%D0%BA%D1%83%D1%81_%D0%BD%D0%B0_%D0%9C%D0%BE%D0%BD%D1%82%D0%B8_%D0%9F%D0%B0%D1%98%D1%82%D0%BE%D0%BD" title="Летечкиот циркус на Монти Пајтон – Macedonian" lang="mk" hreflang="mk" class="interlanguage-link-target"><span>Македонски</span></a></li><li class="interlanguage-link interwiki-nl mw-list-item"><a href="https://nl.wikipedia.org/wiki/Monty_Python%27s_Flying_Circus" title="Monty Python&#039;s Flying Circus – Dutch" lang="nl" hreflang="nl" class="interlanguage-link-target"><span>Nederlands</span></a></li><li class="interlanguage-link interwiki-ja mw-list-item"><a href="https://ja.wikipedia.org/wiki/%E7%A9%BA%E9%A3%9B%E3%81%B6%E3%83%A2%E3%83%B3%E3%83%86%E3%82%A3%E3%83%BB%E3%83%91%E3%82%A4%E3%82%BD%E3%83%B3" title="空飛ぶモンティ・パイソン – Japanese" lang="ja" hreflang="ja" class="interlanguage-link-target"><span>日本語</span></a></li><li class="interlanguage-link interwiki-no mw-list-item"><a href="https://no.wikipedia.org/wiki/Monty_Python%E2%80%99s_Flying_Circus" title="Monty Python’s Flying Circus – Norwegian Bokmål" lang="nb" hreflang="nb" class="interlanguage-link-target"><span>Norsk bokmål</span></a></li><li class="interlanguage-link interwiki-pl mw-list-item"><a href="https://pl.wikipedia.org/wiki/Lataj%C4%85cy_cyrk_Monty_Pythona" title="Latający cyrk Monty Pythona – Polish" lang="pl" hreflang="pl" class="interlanguage-link-target"><span>Polski</span></a></li><li class="interlanguage-link interwiki-pt mw-list-item"><a href="https://pt.wikipedia.org/wiki/Monty_Python%27s_Flying_Circus" title="Monty Python&#039;s Flying Circus – Portuguese" lang="pt" hreflang="pt" class="interlanguage-link-target"><span>Português</span></a></li><li class="interlanguage-link interwiki-ru mw-list-item"><a href="https://ru.wikipedia.org/wiki/%D0%9B%D0%B5%D1%82%D0%B0%D1%8E%D1%89%D0%B8%D0%B9_%D1%86%D0%B8%D1%80%D0%BA_%D0%9C%D0%BE%D0%BD%D1%82%D0%B8_%D0%9F%D0%B0%D0%B9%D1%82%D0%BE%D0%BD%D0%B0" title="Летающий цирк Монти Пайтона – Russian" lang="ru" hreflang="ru" class="interlanguage-link-target"><span>Русский</span></a></li><li class="interlanguage-link interwiki-sk mw-list-item"><a href="https://sk.wikipedia.org/wiki/Lietaj%C3%BAci_cirkus_Montyho_Pythona" title="Lietajúci cirkus Montyho Pythona – Slovak" lang="sk" hreflang="sk" class="interlanguage-link-target"><span>Slovenčina</span></a></li><li class="interlanguage-link interwiki-sl mw-list-item"><a href="https://sl.wikipedia.org/wiki/Lete%C4%8Di_cirkus_Montyja_Pythona" title="Leteči cirkus Montyja Pythona – Slovenian" lang="sl" hreflang="sl" class="interlanguage-link-target"><span>Slovenščina</span></a></li><li class="interlanguage-link interwiki-sr mw-list-item"><a href="https://sr.wikipedia.org/wiki/%D0%9B%D0%B5%D1%82%D0%B5%D1%9B%D0%B8_%D1%86%D0%B8%D1%80%D0%BA%D1%83%D1%81_%D0%9C%D0%BE%D0%BD%D1%82%D0%B8%D1%98%D0%B0_%D0%9F%D0%B0%D1%98%D1%82%D0%BE%D0%BD%D0%B0" title="Летећи циркус Монтија Пајтона – Serbian" lang="sr" hreflang="sr" class="interlanguage-link-target"><span>Српски / srpski</span></a></li><li class="interlanguage-link interwiki-sh mw-list-item"><a href="https://sh.wikipedia.org/wiki/Monty_Python%27s_Flying_Circus" title="Monty Python&#039;s Flying Circus – Serbo-Croatian" lang="sh" hreflang="sh" class="interlanguage-link-target"><span>Srpskohrvatski / српскохрватски</span></a></li><li class="interlanguage-link interwiki-fi mw-list-item"><a href="https://fi.wikipedia.org/wiki/Monty_Pythonin_lent%C3%A4v%C3%A4_sirkus" title="Monty Pythonin lentävä sirkus – Finnish" lang="fi" hreflang="fi" class="interlanguage-link-target"><span>Suomi</span></a></li><li class="interlanguage-link interwiki-sv mw-list-item"><a href="https://sv.wikipedia.org/wiki/Monty_Pythons_flygande_cirkus" title="Monty Pythons flygande cirkus – Swedish" lang="sv" hreflang="sv" class="interlanguage-link-target"><span>Svenska</span></a></li><li class="interlanguage-link interwiki-uk mw-list-item"><a href="https://uk.wikipedia.org/wiki/%D0%9B%D0%B5%D1%82%D1%8E%D1%87%D0%B8%D0%B9_%D1%86%D0%B8%D1%80%D0%BA_%D0%9C%D0%BE%D0%BD%D1%82%D1%96_%D0%9F%D0%B0%D0%B9%D1%82%D0%BE%D0%BD%D0%B0" title="Летючий цирк Монті Пайтона – Ukrainian" lang="uk" hreflang="uk" class="interlanguage-link-target"><span>Українська</span></a></li><li class="interlanguage-link interwiki-zh mw-list-item"><a href="https://zh.wikipedia.org/wiki/%E8%92%99%E6%8F%90%C2%B7%E6%B4%BE%E6%A3%AE%E7%9A%84%E9%A3%9B%E8%A1%8C%E9%A6%AC%E6%88%B2%E5%9C%98" title="蒙提·派森的飛行馬戲團 – Chinese" lang="zh" hreflang="zh" class="interlanguage-link-target"><span>中文</span></a></li></ul>\n\t\t<div class="after-portlet after-portlet-lang"><span class="wb-langlinks-edit wb-langlinks-link"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q16401#sitelinks-wikipedia" title="Edit interlanguage links" class="wbc-editpage">Edit links</a></span></div>\n\t</div>\n</nav>\n\n</div>\n\n</div>\n\n<footer id="footer" class="mw-footer" role="contentinfo" >\n\t<ul id="footer-info">\n\t<li id="footer-info-lastmod"> This page was last edited on 21 July 2022, at 01:08<span class="anonymous-show">&#160;(UTC)</span>.</li>\n\t<li id="footer-info-copyright">Text is available under the <a rel="license" href="//en.wikipedia.org/wiki/Wikipedia:Text_of_Creative_Commons_Attribution-ShareAlike_3.0_Unported_License">Creative Commons Attribution-ShareAlike License 3.0</a><a rel="license" href="//creativecommons.org/licenses/by-sa/3.0/" style="display:none;"></a>;\nadditional terms may apply.  By using this site, you agree to the <a href="//foundation.wikimedia.org/wiki/Terms_of_Use">Terms of Use</a> and <a href="//foundation.wikimedia.org/wiki/Privacy_policy">Privacy Policy</a>. Wikipedia® is a registered trademark of the <a href="//www.wikimediafoundation.org/">Wikimedia Foundation, Inc.</a>, a non-profit organization.</li>\n</ul>\n\n\t<ul id="footer-places">\n\t<li id="footer-places-privacy"><a href="https://foundation.wikimedia.org/wiki/Privacy_policy" class="extiw" title="wmf:Privacy policy">Privacy policy</a></li>\n\t<li id="footer-places-about"><a href="/wiki/Wikipedia:About" title="Wikipedia:About">About Wikipedia</a></li>\n\t<li id="footer-places-disclaimer"><a href="/wiki/Wikipedia:General_disclaimer" title="Wikipedia:General disclaimer">Disclaimers</a></li>\n\t<li id="footer-places-contact"><a href="//en.wikipedia.org/wiki/Wikipedia:Contact_us">Contact Wikipedia</a></li>\n\t<li id="footer-places-mobileview"><a href="//en.m.wikipedia.org/w/index.php?title=Monty_Python%27s_Flying_Circus&amp;mobileaction=toggle_view_mobile" class="noprint stopMobileRedirectToggle">Mobile view</a></li>\n\t<li id="footer-places-developers"><a href="https://developer.wikimedia.org">Developers</a></li>\n\t<li id="footer-places-statslink"><a href="https://stats.wikimedia.org/#/en.wikipedia.org">Statistics</a></li>\n\t<li id="footer-places-cookiestatement"><a href="https://foundation.wikimedia.org/wiki/Cookie_statement">Cookie statement</a></li>\n</ul>\n\n\t<ul id="footer-icons" class="noprint">\n\t<li id="footer-copyrightico"><a href="https://wikimediafoundation.org/"><img src="/static/images/footer/wikimedia-button.png" srcset="/static/images/footer/wikimedia-button-1.5x.png 1.5x, /static/images/footer/wikimedia-button-2x.png 2x" width="88" height="31" alt="Wikimedia Foundation" loading="lazy" /></a></li>\n\t<li id="footer-poweredbyico"><a href="https://www.mediawiki.org/"><img src="/static/images/footer/poweredby_mediawiki_88x31.png" alt="Powered by MediaWiki" srcset="/static/images/footer/poweredby_mediawiki_132x47.png 1.5x, /static/images/footer/poweredby_mediawiki_176x62.png 2x" width="88" height="31" loading="lazy"/></a></li>\n</ul>\n\n</footer>\n\n<script>(RLQ=window.RLQ||[]).push(function(){mw.config.set({"wgPageParseReport":{"limitreport":{"cputime":"1.795","walltime":"2.092","ppvisitednodes":{"value":7131,"limit":1000000},"postexpandincludesize":{"value":190714,"limit":2097152},"templateargumentsize":{"value":12743,"limit":2097152},"expansiondepth":{"value":22,"limit":100},"expensivefunctioncount":{"value":21,"limit":500},"unstrip-depth":{"value":1,"limit":20},"unstrip-size":{"value":156754,"limit":5000000},"entityaccesscount":{"value":1,"limit":400},"timingprofile":["100.00% 1809.431      1 -total"," 31.85%  576.349      1 Template:Reflist"," 12.36%  223.717     13 Template:Cite_news"," 10.78%  195.027      1 Template:Infobox_television"," 10.17%  183.953     10 Template:Citation_needed","  9.46%  171.234      1 Template:Infobox","  9.36%  169.353     13 Template:Fix","  7.95%  143.898     19 Template:Cite_web","  6.06%  109.620      3 Template:Navbox","  5.90%  106.732      4 Template:Sfn"]},"scribunto":{"limitreport-timeusage":{"value":"1.020","limit":"10.000"},"limitreport-memusage":{"value":10836229,"limit":52428800},"limitreport-logs":"anchor_id_list = table#1 {\\n    [\\"CITEREFBill_Cooke2006\\"] = 1,\\n    [\\"CITEREFBob_McCabe2005\\"] = 1,\\n    [\\"CITEREFChapmanCleeseGilliamIdle1989\\"] = 1,\\n    [\\"CITEREFCult2019\\"] = 1,\\n    [\\"CITEREFDavid_StewartDavid_C._Stewart1999\\"] = 1,\\n    [\\"CITEREFDavis,_Clive2005\\"] = 1,\\n    [\\"CITEREFHansen2017\\"] = 1,\\n    [\\"CITEREFHastings2006\\"] = 1,\\n    [\\"CITEREFHertzberg1976\\"] = 1,\\n    [\\"CITEREFJamie_Bradburn,_with_reference_to_Toronto_Star_article_of_2_February_19712011\\"] = 1,\\n    [\\"CITEREFLandy2005\\"] = 1,\\n    [\\"CITEREFLarsen2008\\"] = 1,\\n    [\\"CITEREFLawson2019\\"] = 1,\\n    [\\"CITEREFLogan2003\\"] = 1,\\n    [\\"CITEREFMonty_Python1971\\"] = 2,\\n    [\\"CITEREFPalin2006\\"] = 1,\\n    [\\"CITEREFPalin2008\\"] = 1,\\n    [\\"CITEREFPeppard,_Alan2011\\"] = 1,\\n    [\\"CITEREFSean_Adams2017\\"] = 1,\\n    [\\"CITEREFSlotnik2016\\"] = 1,\\n    [\\"CITEREFTeodorczuk2015\\"] = 1,\\n    [\\"CITEREFTerry_Gilliam2004\\"] = 1,\\n    [\\"CITEREFThomas,_Rebecca2003\\"] = 1,\\n    [\\"CITEREFVerkaik2009\\"] = 1,\\n    [\\"CITEREFZack_Handlen2011\\"] = 1,\\n}\\ntemplate_list = table#1 {\\n    [\\":List of Monty Python\'s Flying Circus episodes\\"] = 1,\\n    [\\"Authority control\\"] = 1,\\n    [\\"Cbignore\\"] = 5,\\n    [\\"Citation needed\\"] = 10,\\n    [\\"Cite AV media\\"] = 1,\\n    [\\"Cite book\\"] = 11,\\n    [\\"Cite news\\"] = 13,\\n    [\\"Cite web\\"] = 19,\\n    [\\"Dead Youtube links\\"] = 3,\\n    [\\"End date\\"] = 1,\\n    [\\"Graham Chapman\\"] = 1,\\n    [\\"IMDb title\\"] = 1,\\n    [\\"ISBN\\"] = 2,\\n    [\\"Infobox television\\"] = 1,\\n    [\\"Main\\"] = 3,\\n    [\\"Main article\\"] = 1,\\n    [\\"Monty Python\\"] = 1,\\n    [\\"Nom\\"] = 7,\\n    [\\"Official website\\"] = 1,\\n    [\\"Other uses\\"] = 1,\\n    [\\"Plainlist\\"] = 2,\\n    [\\"Portal bar\\"] = 1,\\n    [\\"Refbegin\\"] = 1,\\n    [\\"Refend\\"] = 1,\\n    [\\"Reflist\\"] = 1,\\n    [\\"See also\\"] = 2,\\n    [\\"Sfn\\"] = 4,\\n    [\\"Short description\\"] = 1,\\n    [\\"Small\\"] = 2,\\n    [\\"Start date\\"] = 1,\\n    [\\"Terry Jones\\"] = 1,\\n    [\\"Use British English\\"] = 1,\\n    [\\"Use dmy dates\\"] = 1,\\n    [\\"Wikiquote\\"] = 1,\\n    [\\"Won\\"] = 4,\\n}\\narticle_whitelist = table#1 {\\n}\\n","limitreport-profile":[["?","320","27.6"],["Scribunto_LuaSandboxCallback::getExpandedArgument","160","13.8"],["Scribunto_LuaSandboxCallback::callParserFunction","140","12.1"],["Scribunto_LuaSandboxCallback::match","80","6.9"],["Scribunto_LuaSandboxCallback::getExpensiveData","60","5.2"],["(for generator) \\u003Cmw.lua:673\\u003E","40","3.4"],["gsub","40","3.4"],["dataWrapper \\u003Cmw.lua:669\\u003E","40","3.4"],["Scribunto_LuaSandboxCallback::sub","40","3.4"],["Scribunto_LuaSandboxCallback::interwikiMap","20","1.7"],["[others]","220","19.0"]]},"cachereport":{"origin":"mw1332","timestamp":"20220721165317","ttl":1814400,"transientcontent":false}}});});</script>\n<script type="application/ld+json">{"@context":"https:\\/\\/schema.org","@type":"Article","name":"Monty Python\'s Flying Circus","url":"https:\\/\\/en.wikipedia.org\\/wiki\\/Monty_Python%27s_Flying_Circus","sameAs":"http:\\/\\/www.wikidata.org\\/entity\\/Q16401","mainEntity":"http:\\/\\/www.wikidata.org\\/entity\\/Q16401","author":{"@type":"Organization","name":"Contributors to Wikimedia projects"},"publisher":{"@type":"Organization","name":"Wikimedia Foundation, Inc.","logo":{"@type":"ImageObject","url":"https:\\/\\/www.wikimedia.org\\/static\\/images\\/wmf-hor-googpub.png"}},"datePublished":"2001-10-11T18:17:24Z","dateModified":"2022-07-21T01:08:19Z","image":"https:\\/\\/upload.wikimedia.org\\/wikipedia\\/en\\/c\\/cd\\/Monty_Python%27s_Flying_Circus_Title_Card.png","headline":"British sketch comedy television series"}</script><script type="application/ld+json">{"@context":"https:\\/\\/schema.org","@type":"Article","name":"Monty Python\'s Flying Circus","url":"https:\\/\\/en.wikipedia.org\\/wiki\\/Monty_Python%27s_Flying_Circus","sameAs":"http:\\/\\/www.wikidata.org\\/entity\\/Q16401","mainEntity":"http:\\/\\/www.wikidata.org\\/entity\\/Q16401","author":{"@type":"Organization","name":"Contributors to Wikimedia projects"},"publisher":{"@type":"Organization","name":"Wikimedia Foundation, Inc.","logo":{"@type":"ImageObject","url":"https:\\/\\/www.wikimedia.org\\/static\\/images\\/wmf-hor-googpub.png"}},"datePublished":"2001-10-11T18:17:24Z","dateModified":"2022-07-21T01:08:19Z","image":"https:\\/\\/upload.wikimedia.org\\/wikipedia\\/en\\/c\\/cd\\/Monty_Python%27s_Flying_Circus_Title_Card.png","headline":"British sketch comedy television series"}</script>\n<script>(RLQ=window.RLQ||[]).push(function(){mw.config.set({"wgBackendResponseTime":195,"wgHostname":"mw1320"});});</script>\n</body>\n</html>'
In [236]:
w=re.finditer(r"<tr[>\s].*?</tr>", textwiki, re.MULTILINE|re.DOTALL)
In [237]:
r = re.compile(r"^<tr[>\s].*?Created\s+by.*?</tr>$",
    re.MULTILINE|re.DOTALL)

for e in w:
    if r.search(e.group()):
        print(e.group())
        break
<tr><th scope="row" class="infobox-label">Created by</th><td class="infobox-data"><a href="/wiki/Graham_Chapman" title="Graham Chapman">Graham Chapman</a><br /><a href="/wiki/John_Cleese" title="John Cleese">John Cleese</a><br /><a href="/wiki/Eric_Idle" title="Eric Idle">Eric Idle</a><br /><a href="/wiki/Terry_Jones" title="Terry Jones">Terry Jones</a><br /><a href="/wiki/Michael_Palin" title="Michael Palin">Michael Palin</a><br /><a href="/wiki/Terry_Gilliam" title="Terry Gilliam">Terry Gilliam</a></td></tr>
In [244]:
doc = lxml.html.fromstring(textwiki)
doc
Out[244]:
<Element html at 0x1ccd2e73c70>
In [259]:
output = doc.xpath('//table[@class="infobox vevent"]/tr[th/text()="Created by"]/td/i')
output
Out[259]:
[]
In [256]:
slownik = dict()
for e in t[0].getchildren():
    if e.tag != "tr":
        continue
    eth = e.find("th")
    etd = e.find("td")
    if eth is not None and etd is not None:
        slownik[eth.text_content()]= etd.text_content()
---------------------------------------------------------------------------
IndexError                                Traceback (most recent call last)
~\AppData\Local\Temp/ipykernel_12268/3678025103.py in <module>
      1 slownik = dict()
----> 2 for e in t[0].getchildren():
      3     if e.tag != "tr":
      4         continue
      5     eth = e.find("th")

IndexError: list index out of range
In [253]:
print(slownik["Created by"])
---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)
~\AppData\Local\Temp/ipykernel_12268/3777939595.py in <module>
----> 1 print(slownik["Created by"])

KeyError: 'Created by'
In [309]:
from pandas.io.html import read_html
page = 'https://en.wikipedia.org/wiki/University_of_California,_Berkeley'
infoboxes = read_html(page, index_col=0, attrs={"class": "infobox"})
wikitables = read_html(page, index_col=0, attrs={"class": "wikitable"})

print("Extracted {num} infoboxes".format(num=len(infoboxes)))
print("Extracted {num} wikitables".format(num=len(wikitables)))
infoboxes[0]
wikitables[1]
Extracted 1 infoboxes
Extracted 3 wikitables
Out[309]:
2019 2018 2017 2016 2015 2014 2013 2012 2011
Applicants[15][126][127][128][129][130] 87398 89621 85057 82571 78923 73794 67713 61702 52953
Admits[126][127][128][129][130] 14676 13308 14552 14429 13332 13338 14181 13038 13523
Admit rate[126][127][128][129][130] 16.8% 14.8% 17.1% 17.5% 16.9% 18.1% 20.9% 21.1% 25.5%
Enrolled[15][126][127][131][132] 6454 6012 6379 6253 5832 5813 5848 5365 5640
SAT range [15][126][127][133][134][135][136][137][138] 1330–1520 1300–1530 1300–1540 1930–2290 1870–2250 1840–2230 1870–2240 1840–2240 1870–2230
ACT average [15][126][127][133][134][135][136][137][138] 31 31 32 32 32 31 30 30 31
GPA (unweighted) [15][126][127][133][134][135][136][137][138] 3.89 3.89 3.91 3.86 3.87 3.85 3.86 3.84 3.83
In [302]:
import requests
from lxml import etree

# manually storing desired URL
url='https://en.wikipedia.org/wiki/Delhi_Public_School_Society'

# fetching its url through requests module
req = requests.get(url)

store = etree.fromstring(req.text)

# this will give Motto portion of above
# URL's info box of Wikipedia's page
output = store.xpath('//table[@class="infobox vcard"]/tr[th/text()="Motto"]/td/i')

# printing the text portion
len(output)
Traceback (most recent call last):

  File "C:\Users\igors\miniconda3\envs\igorpython\lib\site-packages\IPython\core\interactiveshell.py", line 3457, in run_code
    exec(code_obj, self.user_global_ns, self.user_ns)

  File "C:\Users\igors\AppData\Local\Temp/ipykernel_12268/3149667957.py", line 10, in <module>
    store = etree.fromstring(req.text)

  File "src/lxml/etree.pyx", line 3252, in lxml.etree.fromstring

  File "src/lxml/parser.pxi", line 1912, in lxml.etree._parseMemoryDocument

  File "src/lxml/parser.pxi", line 1793, in lxml.etree._parseDoc

  File "src/lxml/parser.pxi", line 1082, in lxml.etree._BaseParser._parseUnicodeDoc

  File "src/lxml/parser.pxi", line 615, in lxml.etree._ParserContext._handleParseResultDoc

  File "src/lxml/parser.pxi", line 725, in lxml.etree._handleParseResult

  File "src/lxml/parser.pxi", line 654, in lxml.etree._raiseParseError

  File "<string>", line 294
XMLSyntaxError: Opening and ending tag mismatch: input line 292 and div, line 294, column 10
In [310]:
help(xpath)
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
~\AppData\Local\Temp/ipykernel_12268/3766596482.py in <module>
----> 1 help(xpath)

NameError: name 'xpath' is not defined
In [311]:
#ODNOŚNIKI ZE STRONY

for e in doc.cssselect("a")[:5]:
    if not e.attrib.has_key("href"):
        continue
    print((e.attrib["href"], e.text_content()))
('#mw-head', 'Jump to navigation')
('#searchInput', 'Jump to search')
('/wiki/Monty_Python%27s_Flying_Circus_(disambiguation)', "Monty Python's Flying Circus (disambiguation)")
('/wiki/File:Monty_Python%27s_Flying_Circus_Title_Card.png', '')
In [321]:
r = requests.get("http://en.wikipedia.org/wiki/Budapest")
doc = lxml.html.fromstring(r.text)
p = doc.cssselect("table.wikitable.collapsible")
res = []
if p[0].text_content().find("Climate data") != -1:
    for e in p[0].findall("tr"):
        res.append([ee.text_content() for ee in e.getchildren()])

tabela = pd.DataFrame(res)
tabela.ix[np.r_[0:3,8],:2]
---------------------------------------------------------------------------
IndexError                                Traceback (most recent call last)
~\AppData\Local\Temp/ipykernel_12268/3428654987.py in <module>
      3 p = doc.cssselect("table.wikitable.collapsible")
      4 res = []
----> 5 if p[0].text_content().find("Climate data") != -1:
      6     for e in p[0].findall("tr"):
      7         res.append([ee.text_content() for ee in e.getchildren()])

IndexError: list index out of range
In [315]:
len(p)
Out[315]:
0
In [319]:
help(cssselect)
Help on package cssselect:

NAME
    cssselect

DESCRIPTION
    CSS Selectors based on XPath
    ============================
    
    This module supports selecting XML/HTML elements based on CSS selectors.
    See the `CSSSelector` class for details.
    
    
    :copyright: (c) 2007-2012 Ian Bicking and contributors.
                See AUTHORS for more details.
    :license: BSD, see LICENSE for more details.

PACKAGE CONTENTS
    parser
    xpath

DATA
    VERSION = '1.1.0'

VERSION
    1.1.0

FILE
    c:\users\igors\miniconda3\envs\igorpython\lib\site-packages\cssselect\__init__.py


In [1]:
import bs4
In [2]:
from bs4 import BeautifulSoup
In [3]:
import requests
import pandas as pd
import numpy as np
In [34]:
wiki_url="https://pl.wikipedia.org/wiki/%C5%81%C3%B3d%C5%BA"
table_id="wikitable collapsible"
In [35]:
response = requests.get(wiki_url)
In [36]:
soup = BeautifulSoup(response.text, 'html.parser')
In [37]:
k_table = soup.find("table",class_ = table_id)
df = pd.read_html(str(k_table))
In [55]:
df = pd.DataFrame(df)
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
~\AppData\Local\Temp/ipykernel_10364/2576693850.py in <module>
----> 1 df = pd.DataFrame(df)

~\miniconda3\envs\igorpython\lib\site-packages\pandas\core\frame.py in __init__(self, data, index, columns, dtype, copy)
    735                     )
    736                 else:
--> 737                     mgr = ndarray_to_mgr(
    738                         data,
    739                         index,

~\miniconda3\envs\igorpython\lib\site-packages\pandas\core\internals\construction.py in ndarray_to_mgr(values, index, columns, dtype, copy, typ)
    329         # by definition an array here
    330         # the dtypes will be coerced to a single dtype
--> 331         values = _prep_ndarray(values, copy=copy_on_sanitize)
    332 
    333     if dtype is not None and not is_dtype_equal(values.dtype, dtype):

~\miniconda3\envs\igorpython\lib\site-packages\pandas\core\internals\construction.py in _prep_ndarray(values, copy)
    589         values = values.reshape((values.shape[0], 1))
    590     elif values.ndim != 2:
--> 591         raise ValueError(f"Must pass 2-d input. shape={values.shape}")
    592 
    593     return values

ValueError: Must pass 2-d input. shape=(1, 6, 14)
In [63]:
new_df = np.reshape(df, (14,-1))
In [67]:
df[0,:,:]
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
~\AppData\Local\Temp/ipykernel_10364/511075889.py in <module>
----> 1 df[0,:,:]

TypeError: list indices must be integers or slices, not tuple
In [68]:
df[1,5,13]
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
~\AppData\Local\Temp/ipykernel_10364/3195809753.py in <module>
----> 1 df[1,5,13]

TypeError: list indices must be integers or slices, not tuple
In [80]:
new_df = np.reshape(df, (7,6,2))
In [83]:
df[0]
Out[83]:
Miesiąc Sty Lut Mar Kwi Maj Cze Lip Sie Wrz Paź Lis Gru Roczna
0 Średnie temperatury w dzień [°C] 0.5 2.1 6.9 13.5 18.9 21.7 24.1 23.8 18.4 12.7 6.0 1.9 125
1 Średnie dobowe temperatury [°C] -1.6 -0.6 3.2 8.7 13.8 16.7 18.9 18.5 13.8 9.0 3.6 0.0 87
2 Średnie temperatury w nocy [°C] -3.6 -3.2 -0.4 4.0 8.7 11.7 13.8 13.3 9.3 5.3 1.3 -1.8 49
3 Opady [mm] 40.7 36.3 39.7 33.5 63.5 65.2 90.0 56.5 42.1 37.6 40.8 35.9 582
4 Średnie usłonecznienie (w godzinach) 42 54 113 171 237 224 229 227 156 105 49 36 1644
5 Źródło: [16] 2020-01-01 Źródło: [16] 2020-01-01 Źródło: [16] 2020-01-01 Źródło: [16] 2020-01-01 Źródło: [16] 2020-01-01 Źródło: [16] 2020-01-01 Źródło: [16] 2020-01-01 Źródło: [16] 2020-01-01 Źródło: [16] 2020-01-01 Źródło: [16] 2020-01-01 Źródło: [16] 2020-01-01 Źródło: [16] 2020-01-01 Źródło: [16] 2020-01-01 Źródło: [16] 2020-01-01
In [84]:
type(df[0])
Out[84]:
pandas.core.frame.DataFrame
In [85]:
type(df)
Out[85]:
list
In [91]:
new_df = df[0]
In [103]:
new_df.iloc[:,3]
Out[103]:
0                        6.9
1                        3.2
2                       -0.4
3                       39.7
4                        113
5    Źródło: [16] 2020-01-01
Name: Mar, dtype: object
In [102]:
new_df
Out[102]:
Miesiąc Sty Lut Mar Kwi Maj Cze Lip Sie Wrz Paź Lis Gru Roczna
0 Średnie temperatury w dzień [°C] 0.5 2.1 6.9 13.5 18.9 21.7 24.1 23.8 18.4 12.7 6.0 1.9 125
1 Średnie dobowe temperatury [°C] -1.6 -0.6 3.2 8.7 13.8 16.7 18.9 18.5 13.8 9.0 3.6 0.0 87
2 Średnie temperatury w nocy [°C] -3.6 -3.2 -0.4 4.0 8.7 11.7 13.8 13.3 9.3 5.3 1.3 -1.8 49
3 Opady [mm] 40.7 36.3 39.7 33.5 63.5 65.2 90.0 56.5 42.1 37.6 40.8 35.9 582
4 Średnie usłonecznienie (w godzinach) 42 54 113 171 237 224 229 227 156 105 49 36 1644
5 Źródło: [16] 2020-01-01 Źródło: [16] 2020-01-01 Źródło: [16] 2020-01-01 Źródło: [16] 2020-01-01 Źródło: [16] 2020-01-01 Źródło: [16] 2020-01-01 Źródło: [16] 2020-01-01 Źródło: [16] 2020-01-01 Źródło: [16] 2020-01-01 Źródło: [16] 2020-01-01 Źródło: [16] 2020-01-01 Źródło: [16] 2020-01-01 Źródło: [16] 2020-01-01 Źródło: [16] 2020-01-01
In [5]:
#bazy danych
import os, os.path, tempfile, csv, sqlite3
import numpy as np, pandas as pd
In [37]:
Downloads = os.path.join(os.getcwd(),"Downloads")
Downloads
nycf = os.path.join(Downloads,"nycflights13")
In [7]:
nycf
Out[7]:
'C:\\Users\\igors\\Downloads\\nycflights13'
In [8]:
airlines = pd.read_csv(os.path.join(nycf,"airlines.csv"))
In [23]:
airlines=airlines.iloc[:,1:]
In [38]:
nycflights13 = ["airports", "airlines", "weather", "planes", "flights"]

for d in nycflights13:
    globals()[d] = pd.read_csv(os.path.join(nycf, d+".csv"))
In [12]:
globals()["weather"]
Out[12]:
Unnamed: 0 origin year month day hour temp dewp humid wind_dir wind_speed wind_gust precip pressure visib
0 1 EWR 2013 1.0 1.0 0.0 37.04 21.92 53.97 230.0 10.35702 11.918651 0.0 1013.9 10.0
1 2 EWR 2013 1.0 1.0 1.0 37.04 21.92 53.97 230.0 13.80936 15.891535 0.0 1013.0 10.0
2 3 EWR 2013 1.0 1.0 2.0 37.94 21.92 52.09 230.0 12.65858 14.567241 0.0 1012.6 10.0
3 4 EWR 2013 1.0 1.0 3.0 37.94 23.00 54.51 230.0 13.80936 15.891535 0.0 1012.7 10.0
4 5 EWR 2013 1.0 1.0 4.0 37.94 24.08 57.04 240.0 14.96014 17.215830 0.0 1012.8 10.0
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
8714 8715 JFK 2013 9.0 2.0 20.0 75.20 73.40 94.14 200.0 4.60312 5.297178 0.0 NaN 4.0
8715 8716 JFK 2013 10.0 23.0 10.0 48.92 39.02 68.51 60.0 4.60312 5.297178 0.0 1008.1 10.0
8716 8717 JFK 2013 10.0 23.0 11.0 48.92 39.02 68.51 40.0 4.60312 5.297178 0.0 1008.5 10.0
8717 8718 JFK 2013 12.0 17.0 5.0 26.96 10.94 50.34 40.0 4.60312 5.297178 0.0 1023.9 10.0
8718 8719 LGA 2013 8.0 22.0 22.0 75.92 66.92 73.68 210.0 8.05546 9.270062 0.0 1011.9 10.0

8719 rows × 15 columns

In [13]:
weather
Out[13]:
Unnamed: 0 origin year month day hour temp dewp humid wind_dir wind_speed wind_gust precip pressure visib
0 1 EWR 2013 1.0 1.0 0.0 37.04 21.92 53.97 230.0 10.35702 11.918651 0.0 1013.9 10.0
1 2 EWR 2013 1.0 1.0 1.0 37.04 21.92 53.97 230.0 13.80936 15.891535 0.0 1013.0 10.0
2 3 EWR 2013 1.0 1.0 2.0 37.94 21.92 52.09 230.0 12.65858 14.567241 0.0 1012.6 10.0
3 4 EWR 2013 1.0 1.0 3.0 37.94 23.00 54.51 230.0 13.80936 15.891535 0.0 1012.7 10.0
4 5 EWR 2013 1.0 1.0 4.0 37.94 24.08 57.04 240.0 14.96014 17.215830 0.0 1012.8 10.0
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
8714 8715 JFK 2013 9.0 2.0 20.0 75.20 73.40 94.14 200.0 4.60312 5.297178 0.0 NaN 4.0
8715 8716 JFK 2013 10.0 23.0 10.0 48.92 39.02 68.51 60.0 4.60312 5.297178 0.0 1008.1 10.0
8716 8717 JFK 2013 10.0 23.0 11.0 48.92 39.02 68.51 40.0 4.60312 5.297178 0.0 1008.5 10.0
8717 8718 JFK 2013 12.0 17.0 5.0 26.96 10.94 50.34 40.0 4.60312 5.297178 0.0 1023.9 10.0
8718 8719 LGA 2013 8.0 22.0 22.0 75.92 66.92 73.68 210.0 8.05546 9.270062 0.0 1011.9 10.0

8719 rows × 15 columns

In [14]:
baza = os.path.join(nycf, "nycflights13.db")
if os.path.isfile(baza):
    os.remove(baza)
In [15]:
baza
Out[15]:
'C:\\Users\\igors\\Downloads\\nycflights13\\nycflights13.db'
In [151]:
conn = sqlite3.connect(baza)
In [152]:
type(conn)
Out[152]:
sqlite3.Connection
In [153]:
conn.execute("""
CREATE TABLE airlines(
carrier CHAR(2) PRIMARY KEY,
name VARCHAR(256)
)
""")
---------------------------------------------------------------------------
OperationalError                          Traceback (most recent call last)
~\AppData\Local\Temp/ipykernel_13772/1384506213.py in <module>
----> 1 conn.execute("""
      2 CREATE TABLE airlines(
      3 carrier CHAR(2) PRIMARY KEY,
      4 name VARCHAR(256)
      5 )

OperationalError: table airlines already exists
In [19]:
conn.commit()
In [24]:
rekord = airlines.to_records(index=False)[0]
rekord
Out[24]:
('9E', 'Endeavor Air Inc.')
In [25]:
conn.execute("INSERT INTO airlines(carrier, name) VALUES(?, ?)", rekord)
Out[25]:
<sqlite3.Cursor at 0x186c6df3880>
In [26]:
conn.rollback()
In [27]:
conn.executemany("""
    INSERT INTO airlines(carrier, name) VALUES (?, ?)
    """, airlines.to_records(index=False))
Out[27]:
<sqlite3.Cursor at 0x186c6df3b90>
In [28]:
conn.commit()
In [29]:
cur = conn.execute("""
    SELECT * FROM airlines 
    WHERE name LIKE '%AMERICA%'
    """)

w = cur.fetchall()
w
Out[29]:
[('AA', 'American Airlines Inc.'), ('VX', 'Virgin America')]
In [30]:
pd.DataFrame(w,columns = ["carrier", "name"])
Out[30]:
carrier name
0 AA American Airlines Inc.
1 VX Virgin America
In [31]:
pd.read_sql_query("""
SELECT * FROM airlines
WHERE name LIKE '%AMERICA%'
""", conn)
Out[31]:
carrier name
0 AA American Airlines Inc.
1 VX Virgin America
In [32]:
airports.to_sql("airports",conn)
Out[32]:
1397
In [206]:
pd.read_sql_query("PRAGMA table_info(airports)", conn)
Out[206]:
cid name type notnull dflt_value pk
0 0 index INTEGER 0 None 0
1 1 Unnamed: 0 INTEGER 0 None 0
2 2 faa TEXT 0 None 0
3 3 name TEXT 0 None 0
4 4 lat REAL 0 None 0
5 5 lon REAL 0 None 0
6 6 alt INTEGER 0 None 0
7 7 tz INTEGER 0 None 0
8 8 dst TEXT 0 None 0
In [207]:
pd.read_sql_query("""
SELECT faa, name, alt
FROM airports
ORDER BY alt DESC
LIMIT 3
""", conn)
Out[207]:
faa name alt
0 TEX Telluride 9078
1 TVL Lake Tahoe Airport 8544
2 ASE Aspen Pitkin County Sardy Field 7820
In [5]:
fb_url="file:///C:/Users/igors/AppData/Local/Temp/Rar$EXa5828.37069/friends_and_followers/friends.html"
divclass="_a706"
response = requests.get(fb_url)
soup = BeautifulSoup(response.text, 'html.parser')
fb_table = soup.find("div",div_ = "divclass")
df = pd.read_html(str(fb_table))
df = pd.DataFrame(df)
---------------------------------------------------------------------------
InvalidSchema                             Traceback (most recent call last)
~\AppData\Local\Temp/ipykernel_10612/558574603.py in <module>
      1 fb_url="file:///C:/Users/igors/AppData/Local/Temp/Rar$EXa5828.37069/friends_and_followers/friends.html"
      2 divclass="_a706"
----> 3 response = requests.get(fb_url)
      4 soup = BeautifulSoup(response.text, 'html.parser')
      5 fb_table = soup.find("div",div_ = "divclass")

~\miniconda3\envs\igorpython\lib\site-packages\requests\api.py in get(url, params, **kwargs)
     71     """
     72 
---> 73     return request("get", url, params=params, **kwargs)
     74 
     75 

~\miniconda3\envs\igorpython\lib\site-packages\requests\api.py in request(method, url, **kwargs)
     57     # cases, and look like a memory leak in others.
     58     with sessions.Session() as session:
---> 59         return session.request(method=method, url=url, **kwargs)
     60 
     61 

~\miniconda3\envs\igorpython\lib\site-packages\requests\sessions.py in request(self, method, url, params, data, headers, cookies, files, auth, timeout, allow_redirects, proxies, hooks, stream, verify, cert, json)
    585         }
    586         send_kwargs.update(settings)
--> 587         resp = self.send(prep, **send_kwargs)
    588 
    589         return resp

~\miniconda3\envs\igorpython\lib\site-packages\requests\sessions.py in send(self, request, **kwargs)
    693 
    694         # Get the appropriate adapter to use
--> 695         adapter = self.get_adapter(url=request.url)
    696 
    697         # Start time (approximately) of the request

~\miniconda3\envs\igorpython\lib\site-packages\requests\sessions.py in get_adapter(self, url)
    790 
    791         # Nothing matches :-/
--> 792         raise InvalidSchema(f"No connection adapters were found for {url!r}")
    793 
    794     def close(self):

InvalidSchema: No connection adapters were found for 'file:///C:/Users/igors/AppData/Local/Temp/Rar$EXa5828.37069/friends_and_followers/friends.html'
In [11]:
pd.read_html(os.path.join(os.getcwd(),"Downloads","facebook-igorszczesny04","friends.html"))
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
~\AppData\Local\Temp/ipykernel_10612/4277040679.py in <module>
----> 1 pd.read_html(os.path.join(os.getcwd(),"Downloads","facebook-igorszczesny04","friends.html"))

~\miniconda3\envs\igorpython\lib\site-packages\pandas\util\_decorators.py in wrapper(*args, **kwargs)
    309                     stacklevel=stacklevel,
    310                 )
--> 311             return func(*args, **kwargs)
    312 
    313         return wrapper

~\miniconda3\envs\igorpython\lib\site-packages\pandas\io\html.py in read_html(io, match, flavor, header, index_col, skiprows, attrs, parse_dates, thousands, encoding, decimal, converters, na_values, keep_default_na, displayed_only)
   1111     io = stringify_path(io)
   1112 
-> 1113     return _parse(
   1114         flavor=flavor,
   1115         io=io,

~\miniconda3\envs\igorpython\lib\site-packages\pandas\io\html.py in _parse(flavor, io, match, attrs, encoding, displayed_only, **kwargs)
    937     else:
    938         assert retained is not None  # for mypy
--> 939         raise retained
    940 
    941     ret = []

~\miniconda3\envs\igorpython\lib\site-packages\pandas\io\html.py in _parse(flavor, io, match, attrs, encoding, displayed_only, **kwargs)
    917 
    918         try:
--> 919             tables = p.parse_tables()
    920         except ValueError as caught:
    921             # if `io` is an io-like object, check if it's seekable

~\miniconda3\envs\igorpython\lib\site-packages\pandas\io\html.py in parse_tables(self)
    237         list of parsed (header, body, footer) tuples from tables.
    238         """
--> 239         tables = self._parse_tables(self._build_doc(), self.match, self.attrs)
    240         return (self._parse_thead_tbody_tfoot(table) for table in tables)
    241 

~\miniconda3\envs\igorpython\lib\site-packages\pandas\io\html.py in _parse_tables(self, doc, match, attrs)
    567 
    568         if not tables:
--> 569             raise ValueError("No tables found")
    570 
    571         result = []

ValueError: No tables found
In [36]:
friends=os.path.join(os.getcwd(),"Downloads","facebook-igorszczesny04","friends.html")
In [17]:
import codecs
In [31]:
from bs4 import BeautifulSoup

HTMLFile = open(friends, encoding="UTF-8")
  
index = HTMLFile.read()
index
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
Cell In[31], line 3
      1 from bs4 import BeautifulSoup
----> 3 HTMLFile = open(friends, encoding="UTF-8")
      5 index = HTMLFile.read()
      6 index

NameError: name 'friends' is not defined
In [30]:
  
# Creating a BeautifulSoup object and specifying the parser
S = BeautifulSoup(index, 'lxml')
  
S
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
Cell In[30], line 2
      1 # Creating a BeautifulSoup object and specifying the parser
----> 2 S = BeautifulSoup(index, 'lxml')
      4 S

NameError: name 'BeautifulSoup' is not defined
In [29]:
w = re.finditer(r"2ph_ _a6-h", str(S))
j=0
for i in w:
    j=j+1
    tab.loc[j-1,"start"] = str(S)[i.start()+18:i.start()+18+str(S)[i.start()+18:i.end()+45].find("</d")]

tab
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
Cell In[29], line 1
----> 1 w = re.finditer(r"2ph_ _a6-h", str(S))
      2 j=0
      3 for i in w:

NameError: name 're' is not defined
In [204]:
tab = pd.DataFrame()
In [207]:
 
In [ ]:
 
In [ ]:
 
In [ ]:
 
In [154]:
 
In [ ]:
 
In [ ]:
 
In [ ]:
 
In [ ]:
 
In [ ]:
 
In [226]:
 
In [ ]:
 
In [233]:
combined_dfs = pd.concat([tab, tab2])
symmetric_difference = combined_dfs.drop_duplicates(keep=False)

symmetric_difference
Out[233]:
start
634 Maciek Sławiński
In [269]:
symmetric_difference.loc[634,"start"]
symmetric_difference["dodany?"] = "usunięty"
C:\Users\igors\AppData\Local\Temp/ipykernel_10612/3398942285.py:2: SettingWithCopyWarning: 
A value is trying to be set on a copy of a slice from a DataFrame.
Try using .loc[row_indexer,col_indexer] = value instead

See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
  symmetric_difference["dodany?"] = "usunięty"
In [276]:
symmetric_difference.values[0,0]
Out[276]:
'Maciek Sławiński'
In [292]:
for i in symmetric_difference.values[:,0]:
    if i in tab2["start"].values:
        symmetric_difference.loc[634,"dodany?"]="dodany"
    else:
        print("nie")
C:\Users\igors\AppData\Local\Temp/ipykernel_10612/1624371729.py:3: SettingWithCopyWarning: 
A value is trying to be set on a copy of a slice from a DataFrame

See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
  symmetric_difference.loc[634,"dodany?"]="dodany"
In [294]:
symmetric_difference
Out[294]:
start dodany?
634 Maciek Sławiński dodany
In [15]:
from bs4 import BeautifulSoup
import os.path
import re
import pandas as pd
friends_1=os.path.join(os.getcwd(),"Downloads","facebook-igorszczesny04 (4)","friends.html")
friends_2=("C://Users//igors//Downloads//facebook-igorszczesny04 (4)//friends.html")

for friends in [friends_1, friends_2]
HTMLFile = open(friends, encoding="UTF-8")
  
index = HTMLFile.read()
S = BeautifulSoup(index, 'lxml')
w = re.finditer(r"2ph_ _a6-h", str(S))

tab = pd.DataFrame()
j=0
for i in w:
    j=j+1
    tab.loc[j-1,"start"] = str(S)[i.start()+18:i.start()+18+str(S)[i.start()+18:i.end()+45].find("</d")]

tab = tab.drop_duplicates()
tab2 = tab.copy()

tab2.loc[3,"start"]="Natalia Nyk"
tab2.loc[1,"start"]="Ella Chen"
tab2.loc[634,"start"]="Maciek Sławiński"
tab.loc[634,"start"]="Fiszcz Fiszczowski"
tab.loc[635,"start"]="Magdalena Ogórek"

combined_dfs = pd.concat([tab, tab2])
symmetric_difference = combined_dfs.drop_duplicates(keep=False)
symmetric_difference["dodany?"] = "usunięty"
symmetric_difference=symmetric_difference.reset_index()
symmetric_difference=symmetric_difference.drop(columns=['index'])

for count,i in enumerate(symmetric_difference.values[:,0]):
    if i in tab2["start"].values:
        symmetric_difference.loc[count,"dodany?"]="dodany"
        
symmetric_difference
C:\Users\igors\AppData\Local\Temp/ipykernel_10372/2867500722.py:29: SettingWithCopyWarning: 
A value is trying to be set on a copy of a slice from a DataFrame.
Try using .loc[row_indexer,col_indexer] = value instead

See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
  symmetric_difference["dodany?"] = "usunięty"
Out[15]:
start dodany?
0 Fiszcz Fiszczowski usunięty
1 Magdalena Ogórek usunięty
2 Maciek Sławiński dodany
In [3]:
tab_2
Out[3]:
start
0 Kiran Saba Warraich
1 Natalia Nyk
2 Ayşegül Özmen
3 Faty Mbarki
4 Ibtissam Chahbouni
... ...
626 Piotr Rybicki
627 Magdalena Mitek
628 Malwina Sejdak
629 Maciej Grzegory
630 Piotrek Parol

631 rows × 1 columns

In [1]:
#OFICJALNA WERSJA - KTO USUNĄŁ ZE ZNAJOMYCH

from bs4 import BeautifulSoup
import os.path
import re
import pandas as pd
friends_1=os.path.join(os.getcwd(),"Downloads","facebook-igorszczesny04 (10)","friends.html")
friends_2=("C://Users//igors//Downloads//facebook-igorszczesny04 (11)//friends.html")

tab_1 = pd.DataFrame()
tab_2 = pd.DataFrame()

for friends in [friends_1, friends_2]:
    HTMLFile = open(friends, encoding="UTF-8")
  
    index = HTMLFile.read()
    S = BeautifulSoup(index, 'lxml')
    w = re.finditer(r"2ph_ _a6-h", str(S))
    tab = pd.DataFrame()
    j=0
    
    s = {
    friends_1 : tab_1,
    friends_2 : tab_2
    }

    
    for i in w:
        j=j+1
        s[friends].loc[j-1,"start"] = str(S)[i.start()+18:i.start()+18+str(S)[i.start()+18:i.end()+45].find("</d")]

    s[friends] = s[friends].drop_duplicates()




combined_dfs = pd.concat([tab_1, tab_2])
symmetric_difference = combined_dfs.drop_duplicates(keep=False)
symmetric_difference["dodany?"] = "usunięty"
symmetric_difference=symmetric_difference.reset_index()
symmetric_difference=symmetric_difference.drop(columns=['index'])

for count,i in enumerate(symmetric_difference.values[:,0]):
    if i in tab_2["start"].values:
        symmetric_difference.loc[count,"dodany?"]="dodany"
        
symmetric_difference
C:\Users\igors\AppData\Local\Temp/ipykernel_12864/2445382594.py:39: SettingWithCopyWarning: 
A value is trying to be set on a copy of a slice from a DataFrame.
Try using .loc[row_indexer,col_indexer] = value instead

See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
  symmetric_difference["dodany?"] = "usunięty"
Out[1]:
start dodany?
0 Julia Bargłowska usunięty
1 Rafał Jonko usunięty
2 Tomek Wasilewski usunięty
3 Zuzanna Stępnik dodany
In [35]:
conn.close()
In [36]:
#bazy danych cd
if os.path.isfile(baza):
    os.remove(baza)
    
conn = sqlite3.connect(baza)
airports.to_sql("airports",conn)
airlines.to_sql("airlines",conn)
planes.to_sql("planes",conn)
weather.to_sql("weather",conn)
flights.to_sql("flights",conn)
Out[36]:
336776
In [37]:
pd.read_sql_query("""
    SELECT DISTINCT engine FROM planes
""",conn)
Out[37]:
engine
0 Turbo-fan
1 Turbo-jet
2 Reciprocating
3 4 Cycle
4 Turbo-shaft
5 Turbo-prop
In [39]:
pd.DataFrame(planes.engine.unique(), columns=["Engine"])
Out[39]:
Engine
0 Turbo-fan
1 Turbo-jet
2 Reciprocating
3 4 Cycle
4 Turbo-shaft
5 Turbo-prop
In [40]:
pd.read_sql_query("""
SELECT DISTINCT type, engine FROM planes
""",conn)
Out[40]:
type engine
0 Fixed wing multi engine Turbo-fan
1 Fixed wing multi engine Turbo-jet
2 Fixed wing single engine Reciprocating
3 Fixed wing multi engine Reciprocating
4 Fixed wing single engine 4 Cycle
5 Rotorcraft Turbo-shaft
6 Fixed wing multi engine Turbo-prop
In [44]:
planes.loc[:,["type","engine"]].drop_duplicates()
Out[44]:
type engine
0 Fixed wing multi engine Turbo-fan
51 Fixed wing multi engine Turbo-jet
424 Fixed wing single engine Reciprocating
427 Fixed wing multi engine Reciprocating
686 Fixed wing single engine 4 Cycle
811 Rotorcraft Turbo-shaft
1045 Fixed wing multi engine Turbo-prop
In [48]:
pd.read_sql_query("""
SELECT engine,COUNT(*) FROM planes
GROUP BY engine
""",conn)
Out[48]:
engine COUNT(*)
0 4 Cycle 2
1 Reciprocating 28
2 Turbo-fan 2750
3 Turbo-jet 535
4 Turbo-prop 2
5 Turbo-shaft 5
In [49]:
planes.engine.value_counts().reset_index()
Out[49]:
index engine
0 Turbo-fan 2750
1 Turbo-jet 535
2 Reciprocating 28
3 Turbo-shaft 5
4 4 Cycle 2
5 Turbo-prop 2
In [52]:
pd.read_sql_query("""
SELECT count(*),engine, type FROM planes
GROUP BY engine, type
""",conn)
Out[52]:
count(*) engine type
0 2 4 Cycle Fixed wing single engine
1 5 Reciprocating Fixed wing multi engine
2 23 Reciprocating Fixed wing single engine
3 2750 Turbo-fan Fixed wing multi engine
4 535 Turbo-jet Fixed wing multi engine
5 2 Turbo-prop Fixed wing multi engine
6 5 Turbo-shaft Rotorcraft
In [56]:
planes.groupby(["engine","type"]).size().reset_index()
Out[56]:
engine type 0
0 4 Cycle Fixed wing single engine 2
1 Reciprocating Fixed wing multi engine 5
2 Reciprocating Fixed wing single engine 23
3 Turbo-fan Fixed wing multi engine 2750
4 Turbo-jet Fixed wing multi engine 535
5 Turbo-prop Fixed wing multi engine 2
6 Turbo-shaft Rotorcraft 5
In [61]:
pd.read_sql_query("""
SELECT type, engine, min(year), max(year) from planes
GROUP BY type, engine
""",conn)
Out[61]:
type engine min(year) max(year)
0 Fixed wing multi engine Reciprocating 1956.0 1980.0
1 Fixed wing multi engine Turbo-fan 1965.0 2013.0
2 Fixed wing multi engine Turbo-jet 1974.0 2005.0
3 Fixed wing multi engine Turbo-prop 1967.0 1972.0
4 Fixed wing single engine 4 Cycle 1975.0 1975.0
5 Fixed wing single engine Reciprocating 1959.0 2007.0
6 Rotorcraft Turbo-shaft 1975.0 2012.0
In [64]:
planes.groupby(["type","engine"])["year"].agg([np.min, np.max])
Out[64]:
amin amax
type engine
Fixed wing multi engine Reciprocating 1956.0 1980.0
Turbo-fan 1965.0 2013.0
Turbo-jet 1974.0 2005.0
Turbo-prop 1967.0 1972.0
Fixed wing single engine 4 Cycle 1975.0 1975.0
Reciprocating 1959.0 2007.0
Rotorcraft Turbo-shaft 1975.0 2012.0
In [73]:
planes.groupby(["type","engine"])["year"].describe().unstack()[["min","max"]]
Out[73]:
min max
engine 4 Cycle Reciprocating Turbo-fan Turbo-jet Turbo-prop Turbo-shaft 4 Cycle Reciprocating Turbo-fan Turbo-jet Turbo-prop Turbo-shaft
type
Fixed wing multi engine NaN 1956.0 1965.0 1974.0 1967.0 NaN NaN 1980.0 2013.0 2005.0 1972.0 NaN
Fixed wing single engine 1975.0 1959.0 NaN NaN NaN NaN 1975.0 2007.0 NaN NaN NaN NaN
Rotorcraft NaN NaN NaN NaN NaN 1975.0 NaN NaN NaN NaN NaN 2012.0
In [74]:
pd.read_sql_query("""
SELECT * FROM planes
WHERE speed IS NOT NULL
""",conn)
Out[74]:
index Unnamed: 0 tailnum year type manufacturer model engines seats speed engine
0 424 425 N201AA 1959.0 Fixed wing single engine CESSNA 150 1 2 90.0 Reciprocating
1 427 428 N202AA 1980.0 Fixed wing multi engine CESSNA 421C 2 8 90.0 Reciprocating
2 821 822 N350AA 1980.0 Fixed wing multi engine PIPER PA-31-350 2 8 162.0 Reciprocating
3 893 894 N364AA 1973.0 Fixed wing multi engine CESSNA 310Q 2 6 167.0 Reciprocating
4 1027 1028 N378AA 1963.0 Fixed wing single engine CESSNA 172E 1 4 105.0 Reciprocating
5 1037 1038 N381AA 1956.0 Fixed wing multi engine DOUGLAS DC-7BF 4 102 232.0 Reciprocating
6 1190 1191 N425AA 1968.0 Fixed wing single engine PIPER PA-28-180 1 4 107.0 Reciprocating
7 1430 1431 N508AA 1975.0 Rotorcraft BELL 206B 1 5 112.0 Turbo-shaft
8 1480 1481 N519MQ 1983.0 Fixed wing single engine CESSNA A185F 1 6 127.0 Reciprocating
9 1515 1516 N525AA 1980.0 Fixed wing multi engine PIPER PA-31-350 2 8 162.0 Reciprocating
10 1589 1590 N545AA 1976.0 Fixed wing single engine PIPER PA-32R-300 1 7 126.0 Reciprocating
11 1694 1695 N567AA 1959.0 Fixed wing single engine DEHAVILLAND OTTER DHC-3 1 16 95.0 Reciprocating
12 1813 1814 N600TR 1979.0 Fixed wing multi engine MCDONNELL DOUGLAS DC-9-51 2 139 432.0 Turbo-jet
13 1867 1868 N615AA 1967.0 Fixed wing multi engine BEECH 65-A90 2 9 202.0 Turbo-prop
14 1883 1884 N621AA 1975.0 Fixed wing single engine CESSNA 172M 1 4 108.0 4 Cycle
15 2131 2132 N675MC 1975.0 Fixed wing multi engine MCDONNELL DOUGLAS DC-9-51 2 139 432.0 Turbo-jet
16 2309 2310 N737MQ 1977.0 Fixed wing single engine CESSNA 172N 1 4 105.0 Reciprocating
17 2402 2403 N762NC 1976.0 Fixed wing multi engine MCDONNELL DOUGLAS DC-9-51 2 139 432.0 Turbo-jet
18 2432 2433 N767NC 1977.0 Fixed wing multi engine MCDONNELL DOUGLAS DC-9-51 2 139 432.0 Turbo-jet
19 2472 2473 N774NC 1978.0 Fixed wing multi engine MCDONNELL DOUGLAS DC-9-51 2 139 432.0 Turbo-jet
20 2483 2484 N777NC 1979.0 Fixed wing multi engine MCDONNELL DOUGLAS DC-9-51 2 139 432.0 Turbo-jet
21 2492 2493 N779NC 1979.0 Fixed wing multi engine MCDONNELL DOUGLAS DC-9-51 2 139 432.0 Turbo-jet
22 2503 2504 N782NC 1980.0 Fixed wing multi engine MCDONNELL DOUGLAS DC-9-51 2 139 432.0 Turbo-jet
In [76]:
planes.loc[~planes.speed.isnull(),["tailnum","speed"]]
Out[76]:
tailnum speed
424 N201AA 90.0
427 N202AA 90.0
821 N350AA 162.0
893 N364AA 167.0
1027 N378AA 105.0
1037 N381AA 232.0
1190 N425AA 107.0
1430 N508AA 112.0
1480 N519MQ 127.0
1515 N525AA 162.0
1589 N545AA 126.0
1694 N567AA 95.0
1813 N600TR 432.0
1867 N615AA 202.0
1883 N621AA 108.0
2131 N675MC 432.0
2309 N737MQ 105.0
2402 N762NC 432.0
2432 N767NC 432.0
2472 N774NC 432.0
2483 N777NC 432.0
2492 N779NC 432.0
2503 N782NC 432.0
In [77]:
pd.read_sql_query("""
SELECT tailnum FROM planes
WHERE year >= 2010
""",conn)
Out[77]:
tailnum
0 N127UW
1 N128UW
2 N150UW
3 N151UW
4 N152UW
... ...
296 N965WN
297 N966WN
298 N967WN
299 N968WN
300 N969WN

301 rows × 1 columns

In [78]:
planes.loc[planes.year>=2010,"tailnum"]
Out[78]:
88      N127UW
89      N128UW
215     N150UW
216     N151UW
218     N152UW
         ...  
3251    N965WN
3254    N966WN
3258    N967WN
3261    N968WN
3264    N969WN
Name: tailnum, Length: 301, dtype: object
In [80]:
pd.read_sql_query("""
SELECT * FROM planes
WHERE seats BETWEEN 100 AND 200
LIMIT 5
""",conn)
Out[80]:
index Unnamed: 0 tailnum year type manufacturer model engines seats speed engine
0 1 2 N102UW 1998.0 Fixed wing multi engine AIRBUS INDUSTRIE A320-214 2 182 None Turbo-fan
1 2 3 N103US 1999.0 Fixed wing multi engine AIRBUS INDUSTRIE A320-214 2 182 None Turbo-fan
2 3 4 N104UW 1999.0 Fixed wing multi engine AIRBUS INDUSTRIE A320-214 2 182 None Turbo-fan
3 5 6 N105UW 1999.0 Fixed wing multi engine AIRBUS INDUSTRIE A320-214 2 182 None Turbo-fan
4 6 7 N107US 1999.0 Fixed wing multi engine AIRBUS INDUSTRIE A320-214 2 182 None Turbo-fan
In [81]:
planes.loc[(planes.seats<=200) & (planes.seats>=100),["tailnum"]].head(5)
Out[81]:
tailnum
1 N102UW
2 N103US
3 N104UW
5 N105UW
6 N107US
In [86]:
pd.read_sql_query("""
SELECT tailnum, manufacturer, seats from planes
WHERE manufacturer IN ("BOEING","AIRBUS") AND seats>378
""",conn)
Out[86]:
tailnum manufacturer seats
0 N206UA BOEING 400
1 N228UA BOEING 400
2 N272AT BOEING 400
3 N507AY AIRBUS 379
4 N508AY AIRBUS 379
... ... ... ...
60 N862DA BOEING 400
61 N863DA BOEING 400
62 N865DA BOEING 400
63 N903JB AIRBUS 379
64 N913JB AIRBUS 379

65 rows × 3 columns

In [88]:
planes.loc[planes.manufacturer.isin(["BOEING","AIRBUS"]) & (planes.seats>=379),["tailnum","manufacturer","seats"]]
Out[88]:
tailnum manufacturer seats
439 N206UA BOEING 400
484 N228UA BOEING 400
577 N272AT BOEING 400
1427 N507AY AIRBUS 379
1432 N508AY AIRBUS 379
... ... ... ...
2804 N862DA BOEING 400
2806 N863DA BOEING 400
2809 N865DA BOEING 400
2919 N903JB AIRBUS 379
2982 N913JB AIRBUS 379

65 rows × 3 columns

In [93]:
pd.read_sql_query("""
SELECT manufacturer,count(*) FROM planes
WHERE seats>200
GROUP BY manufacturer
""",conn)
Out[93]:
manufacturer count(*)
0 AIRBUS 66
1 AIRBUS INDUSTRIE 4
2 BOEING 225
In [95]:
x = planes[planes.seats>200]
x.groupby("manufacturer").size()
Out[95]:
manufacturer
AIRBUS               66
AIRBUS INDUSTRIE      4
BOEING              225
dtype: int64
In [96]:
pd.read_sql_query("""
SELECT manufacturer, count(*) FROM planes
WHERE seats>200
GROUP BY manufacturer
HAVING count(*)>10
""",conn)
Out[96]:
manufacturer count(*)
0 AIRBUS 66
1 BOEING 225
In [98]:
x = planes[planes.seats>200].manufacturer.value_counts()
x[x>10]
Out[98]:
BOEING    225
AIRBUS     66
Name: manufacturer, dtype: int64
In [104]:
pd.read_sql_query("""
SELECT manufacturer, count(*) FROM planes
GROUP BY manufacturer
ORDER BY count(*) DESC
LIMIT 5
""",conn)
Out[104]:
manufacturer count(*)
0 BOEING 1630
1 AIRBUS INDUSTRIE 400
2 BOMBARDIER INC 368
3 AIRBUS 336
4 EMBRAER 299
In [109]:
planes.manufacturer.value_counts().sort_values(ascending = False).head(7)
Out[109]:
BOEING                           1630
AIRBUS INDUSTRIE                  400
BOMBARDIER INC                    368
AIRBUS                            336
EMBRAER                           299
MCDONNELL DOUGLAS                 120
MCDONNELL DOUGLAS AIRCRAFT CO     103
Name: manufacturer, dtype: int64
In [111]:
pd.read_sql_query("""
SELECT tailnum, year, seats from planes
WHERE year < 1970
ORDER by year, seats ASC
limit 10
""",conn)
Out[111]:
tailnum year seats
0 N381AA 1956.0 102
1 N201AA 1959.0 2
2 N567AA 1959.0 16
3 N378AA 1963.0 4
4 N575AA 1963.0 6
5 N14629 1965.0 149
6 N615AA 1967.0 9
7 N425AA 1968.0 4
In [112]:
planes.loc[planes.year<1970,["tailnum","year","seats"]].sort_values(["year","seats"])
Out[112]:
tailnum year seats
1037 N381AA 1956.0 102
424 N201AA 1959.0 2
1694 N567AA 1959.0 16
1027 N378AA 1963.0 4
1725 N575AA 1963.0 6
191 N14629 1965.0 149
1867 N615AA 1967.0 9
1190 N425AA 1968.0 4
In [113]:
A = planes.iloc[planes.year.values<1960, 0:4].reset_index(drop=True)
B = planes.iloc[(planes.year.values>=1959) & (planes.year.values <= 1963), 0:4].reset_index(drop=True)

A.to_sql("A", conn)
Out[113]:
3
In [114]:
A
Out[114]:
Unnamed: 0 tailnum year type
0 425 N201AA 1959.0 Fixed wing single engine
1 1038 N381AA 1956.0 Fixed wing multi engine
2 1695 N567AA 1959.0 Fixed wing single engine
In [115]:
B.to_sql("B",conn)
B
Out[115]:
Unnamed: 0 tailnum year type
0 425 N201AA 1959.0 Fixed wing single engine
1 1028 N378AA 1963.0 Fixed wing single engine
2 1695 N567AA 1959.0 Fixed wing single engine
3 1726 N575AA 1963.0 Fixed wing single engine
In [116]:
pd.read_sql_query("""
SELECT * FROM A UNION ALL SELECT * FROM B
""",conn)
Out[116]:
index Unnamed: 0 tailnum year type
0 0 425 N201AA 1959.0 Fixed wing single engine
1 1 1038 N381AA 1956.0 Fixed wing multi engine
2 2 1695 N567AA 1959.0 Fixed wing single engine
3 0 425 N201AA 1959.0 Fixed wing single engine
4 1 1028 N378AA 1963.0 Fixed wing single engine
5 2 1695 N567AA 1959.0 Fixed wing single engine
6 3 1726 N575AA 1963.0 Fixed wing single engine
In [117]:
pd.concat([A,B]) #A.append(B)
Out[117]:
Unnamed: 0 tailnum year type
0 425 N201AA 1959.0 Fixed wing single engine
1 1038 N381AA 1956.0 Fixed wing multi engine
2 1695 N567AA 1959.0 Fixed wing single engine
0 425 N201AA 1959.0 Fixed wing single engine
1 1028 N378AA 1963.0 Fixed wing single engine
2 1695 N567AA 1959.0 Fixed wing single engine
3 1726 N575AA 1963.0 Fixed wing single engine
In [118]:
pd.read_sql_query("""
SELECT * FROM A UNION SELECT * FROM B""",conn)
Out[118]:
index Unnamed: 0 tailnum year type
0 0 425 N201AA 1959.0 Fixed wing single engine
1 1 1028 N378AA 1963.0 Fixed wing single engine
2 1 1038 N381AA 1956.0 Fixed wing multi engine
3 2 1695 N567AA 1959.0 Fixed wing single engine
4 3 1726 N575AA 1963.0 Fixed wing single engine
In [119]:
pd.concat([A,B]).drop_duplicates()
Out[119]:
Unnamed: 0 tailnum year type
0 425 N201AA 1959.0 Fixed wing single engine
1 1038 N381AA 1956.0 Fixed wing multi engine
2 1695 N567AA 1959.0 Fixed wing single engine
1 1028 N378AA 1963.0 Fixed wing single engine
3 1726 N575AA 1963.0 Fixed wing single engine
In [120]:
pd.read_sql_query("""
SELECT * FROM A INTERSECT SELECT * FROM B""", conn)
Out[120]:
index Unnamed: 0 tailnum year type
0 0 425 N201AA 1959.0 Fixed wing single engine
1 2 1695 N567AA 1959.0 Fixed wing single engine
In [123]:
A[A.tailnum.isin(B.tailnum)]
Out[123]:
Unnamed: 0 tailnum year type
0 425 N201AA 1959.0 Fixed wing single engine
2 1695 N567AA 1959.0 Fixed wing single engine
In [126]:
A[A.isin(B)].dropna()
Out[126]:
Unnamed: 0 tailnum year type
0 425.0 N201AA 1959.0 Fixed wing single engine
2 1695.0 N567AA 1959.0 Fixed wing single engine
In [127]:
pd.read_sql_query("""
SELECT * FROM A EXCEPT SELECT * FROM B
""", conn)
Out[127]:
index Unnamed: 0 tailnum year type
0 1 1038 N381AA 1956.0 Fixed wing multi engine
In [128]:
A[~A.tailnum.isin(B.tailnum)]
Out[128]:
Unnamed: 0 tailnum year type
1 1038 N381AA 1956.0 Fixed wing multi engine
In [130]:
A = pd.DataFrame({
    "x": ["a0","a1","a2","a3"],
    "y": ["b0","b1","b2","b3"]
})

B = pd.DataFrame({
    "x": ["a0","a2","a2","a4"],
    "z": ["c0","c1","c2","c3"]
})

A
Out[130]:
x y
0 a0 b0
1 a1 b1
2 a2 b2
3 a3 b3
In [131]:
pd.merge(A, B, on="x", how="inner")
Out[131]:
x y z
0 a0 b0 c0
1 a2 b2 c1
2 a2 b2 c2
In [132]:
pd.merge(A,B,on="x",how="left")
Out[132]:
x y z
0 a0 b0 c0
1 a1 b1 NaN
2 a2 b2 c1
3 a2 b2 c2
4 a3 b3 NaN
In [133]:
pd.merge(A,B,on="x",how="right")
Out[133]:
x y z
0 a0 b0 c0
1 a2 b2 c1
2 a2 b2 c2
3 a4 NaN c3
In [134]:
pd.merge(A,B,on="x",how="outer")
Out[134]:
x y z
0 a0 b0 c0
1 a1 b1 NaN
2 a2 b2 c1
3 a2 b2 c2
4 a3 b3 NaN
5 a4 NaN c3
In [135]:
conn.close()
In [147]:
conn
Out[147]:
<sqlite3.Connection at 0x186c6ce4e40>
In [154]:
pd.read_sql_query(
"""SELECT * FROM planes""",conn)
Out[154]:
index Unnamed: 0 tailnum year type manufacturer model engines seats speed engine
0 0 1 N10156 2004.0 Fixed wing multi engine EMBRAER EMB-145XR 2 55 NaN Turbo-fan
1 1 2 N102UW 1998.0 Fixed wing multi engine AIRBUS INDUSTRIE A320-214 2 182 NaN Turbo-fan
2 2 3 N103US 1999.0 Fixed wing multi engine AIRBUS INDUSTRIE A320-214 2 182 NaN Turbo-fan
3 3 4 N104UW 1999.0 Fixed wing multi engine AIRBUS INDUSTRIE A320-214 2 182 NaN Turbo-fan
4 4 5 N10575 2002.0 Fixed wing multi engine EMBRAER EMB-145LR 2 55 NaN Turbo-fan
... ... ... ... ... ... ... ... ... ... ... ...
3317 3317 3318 N997AT 2002.0 Fixed wing multi engine BOEING 717-200 2 100 NaN Turbo-fan
3318 3318 3319 N997DL 1992.0 Fixed wing multi engine MCDONNELL DOUGLAS AIRCRAFT CO MD-88 2 142 NaN Turbo-fan
3319 3319 3320 N998AT 2002.0 Fixed wing multi engine BOEING 717-200 2 100 NaN Turbo-fan
3320 3320 3321 N998DL 1992.0 Fixed wing multi engine MCDONNELL DOUGLAS CORPORATION MD-88 2 142 NaN Turbo-jet
3321 3321 3322 N999DN 1992.0 Fixed wing multi engine MCDONNELL DOUGLAS CORPORATION MD-88 2 142 NaN Turbo-jet

3322 rows × 11 columns

In [155]:
pd.read_sql_query(
"""SELECT * FROM flights""",conn)
Out[155]:
index Unnamed: 0 year month day dep_time dep_delay arr_time arr_delay carrier tailnum flight origin dest air_time distance hour minute
0 0 1 2013 1 1 517.0 2.0 830.0 11.0 UA N14228 1545 EWR IAH 227.0 1400 5.0 17.0
1 1 2 2013 1 1 533.0 4.0 850.0 20.0 UA N24211 1714 LGA IAH 227.0 1416 5.0 33.0
2 2 3 2013 1 1 542.0 2.0 923.0 33.0 AA N619AA 1141 JFK MIA 160.0 1089 5.0 42.0
3 3 4 2013 1 1 544.0 -1.0 1004.0 -18.0 B6 N804JB 725 JFK BQN 183.0 1576 5.0 44.0
4 4 5 2013 1 1 554.0 -6.0 812.0 -25.0 DL N668DN 461 LGA ATL 116.0 762 5.0 54.0
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
336771 336771 336772 2013 9 30 NaN NaN NaN NaN 9E None 3393 JFK DCA NaN 213 NaN NaN
336772 336772 336773 2013 9 30 NaN NaN NaN NaN 9E None 3525 LGA SYR NaN 198 NaN NaN
336773 336773 336774 2013 9 30 NaN NaN NaN NaN MQ N535MQ 3461 LGA BNA NaN 764 NaN NaN
336774 336774 336775 2013 9 30 NaN NaN NaN NaN MQ N511MQ 3572 LGA CLE NaN 419 NaN NaN
336775 336775 336776 2013 9 30 NaN NaN NaN NaN MQ N839MQ 3531 LGA RDU NaN 431 NaN NaN

336776 rows × 18 columns

In [160]:
pd.merge(flights,planes, on="tailnum",how="inner").loc[:,["tailnum","flight","type"]]
Out[160]:
tailnum flight type
0 N14228 1545 Fixed wing multi engine
1 N14228 1579 Fixed wing multi engine
2 N14228 1142 Fixed wing multi engine
3 N14228 1707 Fixed wing multi engine
4 N14228 1572 Fixed wing multi engine
... ... ... ...
284165 N766SK 5568 Fixed wing multi engine
284166 N772SK 5568 Fixed wing multi engine
284167 N776SK 5568 Fixed wing multi engine
284168 N785SK 5568 Fixed wing multi engine
284169 N557AS 15 Fixed wing multi engine

284170 rows × 3 columns

In [161]:
pd.read_sql_query(
"""SELECT * FROM airports""",conn)
Out[161]:
index Unnamed: 0 faa name lat lon alt tz dst
0 0 1 04G Lansdowne Airport 41.130472 -80.619583 1044 -5 A
1 1 2 06A Moton Field Municipal Airport 32.460572 -85.680028 264 -5 A
2 2 3 06C Schaumburg Regional 41.989341 -88.101243 801 -6 A
3 3 4 06N Randall Airport 41.431912 -74.391561 523 -5 A
4 4 5 09J Jekyll Island Airport 31.074472 -81.427778 11 -4 A
... ... ... ... ... ... ... ... ... ...
1392 1392 1393 ZUN Black Rock 35.083228 -108.791778 6454 -7 A
1393 1393 1394 ZVE New Haven Rail Station 41.298669 -72.925992 7 -5 A
1394 1394 1395 ZWI Wilmington Amtrak Station 39.736667 -75.551667 0 -5 A
1395 1395 1396 ZWU Washington Union Station 38.897460 -77.006430 76 -5 A
1396 1396 1397 ZYP Penn Station 40.750500 -73.993500 35 -5 A

1397 rows × 9 columns

In [171]:
pd.read_sql_query(
"""SELECT * FROM weather
LIMIT 20""",conn)
Out[171]:
index Unnamed: 0 origin year month day hour temp dewp humid wind_dir wind_speed wind_gust precip pressure visib
0 0 1 EWR 2013 1.0 1.0 0.0 37.04 21.92 53.97 230.0 10.35702 11.918651 0.0 1013.9 10.0
1 1 2 EWR 2013 1.0 1.0 1.0 37.04 21.92 53.97 230.0 13.80936 15.891535 0.0 1013.0 10.0
2 2 3 EWR 2013 1.0 1.0 2.0 37.94 21.92 52.09 230.0 12.65858 14.567241 0.0 1012.6 10.0
3 3 4 EWR 2013 1.0 1.0 3.0 37.94 23.00 54.51 230.0 13.80936 15.891535 0.0 1012.7 10.0
4 4 5 EWR 2013 1.0 1.0 4.0 37.94 24.08 57.04 240.0 14.96014 17.215830 0.0 1012.8 10.0
5 5 6 EWR 2013 1.0 1.0 6.0 39.02 26.06 59.37 270.0 10.35702 11.918651 0.0 1012.0 10.0
6 6 7 EWR 2013 1.0 1.0 7.0 39.02 26.96 61.63 250.0 8.05546 9.270062 0.0 1012.3 10.0
7 7 8 EWR 2013 1.0 1.0 8.0 39.02 28.04 64.43 240.0 11.50780 13.242946 0.0 1012.5 10.0
8 8 9 EWR 2013 1.0 1.0 9.0 39.92 28.04 62.21 250.0 12.65858 14.567241 0.0 1012.2 10.0
9 9 10 EWR 2013 1.0 1.0 10.0 39.02 28.04 64.43 260.0 12.65858 14.567241 0.0 1011.9 10.0
10 10 11 EWR 2013 1.0 1.0 11.0 37.94 28.04 67.21 240.0 11.50780 13.242946 0.0 1012.4 10.0
11 11 12 EWR 2013 1.0 1.0 12.0 39.02 28.04 64.43 240.0 14.96014 17.215830 0.0 1012.2 10.0
12 12 13 EWR 2013 1.0 1.0 13.0 39.92 28.04 62.21 250.0 10.35702 11.918651 0.0 1012.2 10.0
13 13 14 EWR 2013 1.0 1.0 14.0 39.92 28.04 62.21 260.0 14.96014 17.215830 0.0 1012.7 10.0
14 14 15 EWR 2013 1.0 1.0 15.0 41.00 28.04 59.65 260.0 13.80936 15.891535 0.0 1012.4 10.0
15 15 16 EWR 2013 1.0 1.0 16.0 41.00 26.96 57.06 260.0 14.96014 17.215830 0.0 1011.4 10.0
16 16 17 EWR 2013 1.0 1.0 17.0 39.20 28.40 64.93 270.0 16.11092 18.540125 0.0 NaN 10.0
17 17 18 EWR 2013 1.0 1.0 18.0 39.20 28.40 64.93 330.0 14.96014 17.215830 0.0 NaN 10.0
18 18 19 EWR 2013 1.0 1.0 19.0 39.02 24.08 54.68 280.0 13.80936 15.891535 0.0 1010.8 10.0
19 19 20 EWR 2013 1.0 1.0 20.0 37.94 24.08 57.04 290.0 9.20624 10.594357 0.0 1011.9 10.0
In [172]:
pd.merge(flights,weather,on=["year","month","day","hour"],how="inner").loc[:,["year","month","day","hour","temp","carrier"]]
Out[172]:
year month day hour temp carrier
0 2013 1 1 6.0 39.02 B6
1 2013 1 1 6.0 39.02 MQ
2 2013 1 1 6.0 39.02 B6
3 2013 1 1 6.0 39.02 DL
4 2013 1 1 6.0 39.02 MQ
... ... ... ... ... ... ...
327570 2013 9 30 22.0 68.00 B6
327571 2013 9 30 22.0 68.00 B6
327572 2013 9 30 22.0 68.00 B6
327573 2013 9 30 23.0 66.02 B6
327574 2013 9 30 23.0 66.02 B6

327575 rows × 6 columns

In [3]:
#wizualizacja danych
import numpy as np
import pandas as pd
import matplotlib
import matplotlib.pyplot as plt
import seaborn as sns
In [3]:
%matplotlib inline
In [6]:
x = np.linspace(-10, 10, 10)
y = x**2
plt.plot(x,y)
plt.show()
In [8]:
z = np.linspace(-10, 10, 10)
plt.plot(x**2)
plt.show()
In [9]:
flights = sns.load_dataset("flights")
flights["passengers"].plot()
Out[9]:
<AxesSubplot:>
In [12]:
plt.plot(flights["passengers"].index, flights["passengers"])
Out[12]:
[<matplotlib.lines.Line2D at 0x16712a78940>]
In [11]:
flights
Out[11]:
year month passengers
0 1949 Jan 112
1 1949 Feb 118
2 1949 Mar 132
3 1949 Apr 129
4 1949 May 121
... ... ... ...
139 1960 Aug 606
140 1960 Sep 508
141 1960 Oct 461
142 1960 Nov 390
143 1960 Dec 432

144 rows × 3 columns

In [15]:
flights["passengers"].groupby(flights["year"]).agg(np.mean).plot()
plt.show()
In [56]:
iris = sns.load_dataset("iris")
plt.scatter(iris.sepal_length, iris.sepal_width)
plt.show()
In [18]:
iris.plot(x="sepal_length", y="sepal_width",kind="scatter")
Out[18]:
<AxesSubplot:xlabel='sepal_length', ylabel='sepal_width'>
In [4]:
t = np.linspace(0, 2*np.pi, 100, endpoint=False)
x = 16*np.sin(t)**3
y = 13*np.cos(t) - 5*np.cos(2*t) - 2*np.cos(3*t) - np.cos(4*t)
plt.fill(x, y, fill=False, hatch="*", color="red")
plt.text(-10,-14,"PYTHON1",fontsize=14, color="red")
plt.text(3,-14,"PYTHON2",fontsize=14, color="red")
plt.show()
In [17]:
x = np.linspace(-10,10,10)
y = np.sin(x)
plt.plot(x,y,linestyle="--", marker="s",color="c")
plt.fill(x,y,color=(0.9,1.0,0.1), alpha=0.4)
Out[17]:
[<matplotlib.patches.Polygon at 0x1a4d6b6e1f0>]
In [11]:
barwy = list(matplotlib.colors.cnames.items())
barwy
Out[11]:
[('aliceblue', '#F0F8FF'),
 ('antiquewhite', '#FAEBD7'),
 ('aqua', '#00FFFF'),
 ('aquamarine', '#7FFFD4'),
 ('azure', '#F0FFFF'),
 ('beige', '#F5F5DC'),
 ('bisque', '#FFE4C4'),
 ('black', '#000000'),
 ('blanchedalmond', '#FFEBCD'),
 ('blue', '#0000FF'),
 ('blueviolet', '#8A2BE2'),
 ('brown', '#A52A2A'),
 ('burlywood', '#DEB887'),
 ('cadetblue', '#5F9EA0'),
 ('chartreuse', '#7FFF00'),
 ('chocolate', '#D2691E'),
 ('coral', '#FF7F50'),
 ('cornflowerblue', '#6495ED'),
 ('cornsilk', '#FFF8DC'),
 ('crimson', '#DC143C'),
 ('cyan', '#00FFFF'),
 ('darkblue', '#00008B'),
 ('darkcyan', '#008B8B'),
 ('darkgoldenrod', '#B8860B'),
 ('darkgray', '#A9A9A9'),
 ('darkgreen', '#006400'),
 ('darkgrey', '#A9A9A9'),
 ('darkkhaki', '#BDB76B'),
 ('darkmagenta', '#8B008B'),
 ('darkolivegreen', '#556B2F'),
 ('darkorange', '#FF8C00'),
 ('darkorchid', '#9932CC'),
 ('darkred', '#8B0000'),
 ('darksalmon', '#E9967A'),
 ('darkseagreen', '#8FBC8F'),
 ('darkslateblue', '#483D8B'),
 ('darkslategray', '#2F4F4F'),
 ('darkslategrey', '#2F4F4F'),
 ('darkturquoise', '#00CED1'),
 ('darkviolet', '#9400D3'),
 ('deeppink', '#FF1493'),
 ('deepskyblue', '#00BFFF'),
 ('dimgray', '#696969'),
 ('dimgrey', '#696969'),
 ('dodgerblue', '#1E90FF'),
 ('firebrick', '#B22222'),
 ('floralwhite', '#FFFAF0'),
 ('forestgreen', '#228B22'),
 ('fuchsia', '#FF00FF'),
 ('gainsboro', '#DCDCDC'),
 ('ghostwhite', '#F8F8FF'),
 ('gold', '#FFD700'),
 ('goldenrod', '#DAA520'),
 ('gray', '#808080'),
 ('green', '#008000'),
 ('greenyellow', '#ADFF2F'),
 ('grey', '#808080'),
 ('honeydew', '#F0FFF0'),
 ('hotpink', '#FF69B4'),
 ('indianred', '#CD5C5C'),
 ('indigo', '#4B0082'),
 ('ivory', '#FFFFF0'),
 ('khaki', '#F0E68C'),
 ('lavender', '#E6E6FA'),
 ('lavenderblush', '#FFF0F5'),
 ('lawngreen', '#7CFC00'),
 ('lemonchiffon', '#FFFACD'),
 ('lightblue', '#ADD8E6'),
 ('lightcoral', '#F08080'),
 ('lightcyan', '#E0FFFF'),
 ('lightgoldenrodyellow', '#FAFAD2'),
 ('lightgray', '#D3D3D3'),
 ('lightgreen', '#90EE90'),
 ('lightgrey', '#D3D3D3'),
 ('lightpink', '#FFB6C1'),
 ('lightsalmon', '#FFA07A'),
 ('lightseagreen', '#20B2AA'),
 ('lightskyblue', '#87CEFA'),
 ('lightslategray', '#778899'),
 ('lightslategrey', '#778899'),
 ('lightsteelblue', '#B0C4DE'),
 ('lightyellow', '#FFFFE0'),
 ('lime', '#00FF00'),
 ('limegreen', '#32CD32'),
 ('linen', '#FAF0E6'),
 ('magenta', '#FF00FF'),
 ('maroon', '#800000'),
 ('mediumaquamarine', '#66CDAA'),
 ('mediumblue', '#0000CD'),
 ('mediumorchid', '#BA55D3'),
 ('mediumpurple', '#9370DB'),
 ('mediumseagreen', '#3CB371'),
 ('mediumslateblue', '#7B68EE'),
 ('mediumspringgreen', '#00FA9A'),
 ('mediumturquoise', '#48D1CC'),
 ('mediumvioletred', '#C71585'),
 ('midnightblue', '#191970'),
 ('mintcream', '#F5FFFA'),
 ('mistyrose', '#FFE4E1'),
 ('moccasin', '#FFE4B5'),
 ('navajowhite', '#FFDEAD'),
 ('navy', '#000080'),
 ('oldlace', '#FDF5E6'),
 ('olive', '#808000'),
 ('olivedrab', '#6B8E23'),
 ('orange', '#FFA500'),
 ('orangered', '#FF4500'),
 ('orchid', '#DA70D6'),
 ('palegoldenrod', '#EEE8AA'),
 ('palegreen', '#98FB98'),
 ('paleturquoise', '#AFEEEE'),
 ('palevioletred', '#DB7093'),
 ('papayawhip', '#FFEFD5'),
 ('peachpuff', '#FFDAB9'),
 ('peru', '#CD853F'),
 ('pink', '#FFC0CB'),
 ('plum', '#DDA0DD'),
 ('powderblue', '#B0E0E6'),
 ('purple', '#800080'),
 ('rebeccapurple', '#663399'),
 ('red', '#FF0000'),
 ('rosybrown', '#BC8F8F'),
 ('royalblue', '#4169E1'),
 ('saddlebrown', '#8B4513'),
 ('salmon', '#FA8072'),
 ('sandybrown', '#F4A460'),
 ('seagreen', '#2E8B57'),
 ('seashell', '#FFF5EE'),
 ('sienna', '#A0522D'),
 ('silver', '#C0C0C0'),
 ('skyblue', '#87CEEB'),
 ('slateblue', '#6A5ACD'),
 ('slategray', '#708090'),
 ('slategrey', '#708090'),
 ('snow', '#FFFAFA'),
 ('springgreen', '#00FF7F'),
 ('steelblue', '#4682B4'),
 ('tan', '#D2B48C'),
 ('teal', '#008080'),
 ('thistle', '#D8BFD8'),
 ('tomato', '#FF6347'),
 ('turquoise', '#40E0D0'),
 ('violet', '#EE82EE'),
 ('wheat', '#F5DEB3'),
 ('white', '#FFFFFF'),
 ('whitesmoke', '#F5F5F5'),
 ('yellow', '#FFFF00'),
 ('yellowgreen', '#9ACD32')]
In [29]:
u = np.r_[-5:5:10j]
plt.plot(u, u**2, "m.--")
plt.axis([-6,6,0,30]) #plt.axis("off") lub "equal"
plt.show()
In [55]:
t = np.linspace(0,2*np.pi,100,endpoint=False)
plt.fill(np.cos(t),np.sin(t),color="darkred",alpha=0.5, linewidth=3,facecolor=(1,0,0,0.1))
plt.axis("equal")
plt.plot(0,1,"o",color="darkred")
plt.text(0,1,"(0,1)",verticalalignment="top")
plt.xticks([-1,-0.2],["a","b"])
plt.yticks([0.4])
Out[55]:
([<matplotlib.axis.YTick at 0x1a4d6c5d280>], [Text(0, 0, '')])
In [62]:
theta = np.linspace(0,np.pi*2, 100)
y = 3+2*np.sin(theta)
x = 3+2*np.cos(theta)
plt.plot(x,y,"k")

x1=np.array([0,0,1,1])
y1=np.array([0,1,1,0])
plt.fill(x1,y1,color="red")

x2=np.linspace(-2*np.pi,0,50)
y2=np.sin(x2)+7
plt.plot(x2,y2,color="blue")

x3=np.linspace(-8,-2,10)
y3=np.random.normal(3,1,10)
plt.scatter(x3,y3,color="orange")

plt.text(-6,0,"hahaha!!!111")
Out[62]:
Text(-6, 0, 'hahaha!!!111')
In [63]:
np.random.normal(3,1,10)
Out[63]:
array([1.63709894, 4.16064322, 2.60269909, 3.51584653, 2.626155  ,
       0.8604721 , 2.93832312, 3.48464965, 4.31743667, 1.57751357])
In [66]:
np.random.seed(123)
x = np.arange(100)
y1 = np.random.normal(0,1,100).cumsum()
y2 = np.random.normal(0,1,100).cumsum()
plt.plot(x,np.c_[y1,y2])
Out[66]:
[<matplotlib.lines.Line2D at 0x1a4d97bfc10>,
 <matplotlib.lines.Line2D at 0x1a4d97bfc70>]
In [68]:
np.random.seed(123)
x = np.arange(100)
y1 = np.random.normal(0,1,100).cumsum()
y2 = np.random.normal(0,1,100).cumsum()
plt.plot(x, y1, "k-", x, y2, "k--")
Out[68]:
[<matplotlib.lines.Line2D at 0x1a4d982c610>,
 <matplotlib.lines.Line2D at 0x1a4d982c730>]
In [74]:
x = np.linspace(0,np.pi,25)
plt.plot(x,np.sin(x), "k-", label="sin")
plt.plot(x,np.cos(x), "rv-.", label="cos")
plt.axis("equal")
plt.legend(loc="lower left")
plt.show()
In [78]:
plt.subplot(2,1,1)
x=np.linspace(0,2*np.pi,20)
plt.plot(x,np.sin(x), "r.-", label="sin(x)")
plt.xticks([0,1.67,3.14,4.81,6.28],["0","pi/2","pi","3pi/2","2pi"])
plt.legend(loc="best")
plt.subplot(2,1,2)
plt.plot(x,np.cos(x), "bH:", label="cos(x)")
plt.xticks([0,1.67,3.14,4.81,6.28],["0","pi/2","pi","3pi/2","2pi"])
plt.legend(loc="best")
plt.show()
In [81]:
plt.subplot2grid((3,4),(0,0), colspan=4)
x=np.linspace(0,2*np.pi,20)
plt.plot(x,np.sin(x), "r.-", label="sin(x)")
plt.xticks([0,1.67,3.14,4.81,6.28],["0","pi/2","pi","3pi/2","2pi"])
plt.legend(loc="best")

plt.subplot2grid((3,4),(1,0), rowspan=2, colspan=2)
plt.plot(x,np.cos(x), "bH:", label="cos(x)")
plt.xticks([0,1.67,3.14,4.81,6.28],["0","pi/2","pi","3pi/2","2pi"])
plt.legend(loc="best")

plt.subplot2grid((3,4),(1,2), colspan=2)
plt.plot(x,np.sin(x), "k-", label="sin(x)")
plt.xticks([0,1.67,3.14,4.81,6.28],["0","pi/2","pi","3pi/2","2pi"])
plt.legend(loc="best")

plt.subplot2grid((3,4),(2,2))
plt.plot(x,np.tan(x)+1, "mh--", label="tan(x)")
plt.xticks([0,1.67,3.14,4.81,6.28],["0","pi/2","pi","3pi/2","2pi"])
plt.legend(loc="best")

plt.subplot2grid((3,4),(2,3))
plt.plot(x,np.tan(x), "yx-", label="tan(x)")
plt.xticks([0,1.67,3.14,4.81,6.28],["0","pi/2","pi","3pi/2","2pi"])
plt.legend(loc="best")
Out[81]:
<matplotlib.legend.Legend at 0x1a4d9f85ac0>
In [27]:
p=[0.31,0.31,0.15,0.10,0.09,0.05]
e=["PO","PiS","Polska2050","Konfa","Lewica","PSL"]

x=np.arange(len(p)) s=0.75 plt.bar(x-(s/10), p, s, color=[(0.3,0.2,0.7),"orange",(0,0,0.3),"yellow","red","green"]) plt.xticks(x, e, rotation=17) plt.yticks([0.1,0.2,0.3,0.4],["10%","20%","30%","40%"]) plt.title("Sondaż KANTAR PUBLIC") plt.text(1,0.4,"35%")

In [28]:
x=np.arange(len(p)) 
s=0.75 
plt.bar(x-(s/10), p, s, color=["orange",(0.3,0.2,0.7),"yellow",(0,0,0.3),"red","green"]) 
plt.xticks(x, e, rotation=17) 
plt.yticks([0.1,0.2,0.3,0.4],["10%","20%","30%","40%"]) 
plt.title("Sondaż KANTAR PUBLIC") 
plt.text(0.7,0.33,"31%")
plt.text(1.75,0.17,"15%")
plt.text(-0.3,0.33,"31%")
plt.text(2.75,0.12,"10%")
plt.text(3.8,0.11,"9%")
plt.text(4.8,0.06,"5%")
Out[28]:
Text(4.8, 0.06, '5%')
In [ ]:
 
In [122]:
tips = sns.load_dataset("tips")
tips.smoker.value_counts().plot(kind="pie")
plt.show()
In [139]:
flights_pivot = flights.pivot("month","year","passengers")
sns.heatmap(flights_pivot, annot=True, fmt="d", linewidths=0.5)
Out[139]:
<AxesSubplot:xlabel='year', ylabel='month'>
In [20]:
ax1=plt.subplot(121)
tips = sns.load_dataset("tips")
t = pd.crosstab(tips.day, tips.smoker)
t.plot(kind="barh", color=["red","blue"], ax=ax1)
ax1.yaxis.set_ticks_position("right")
plt.xlabel("liczba osób")

plt.subplot(122)
sumy = (t.iloc[:,0]+t.iloc[:,1])
(sumy/sumy).plot(kind="barh", color="lightgreen")
(t.iloc[:,0]/sumy).plot(kind="barh", color="green")
plt.xticks(np.r_[0:1:5j],["0%","25%","50%","75%","100%"])
plt.xlabel("frakcja")

plt.show()
In [29]:
tips["tip_frac"] = tips["tip"]/tips["total_bill"]
sns.boxplot(tips["tip_frac"])
C:\Users\igors\miniconda3\envs\igorpython\lib\site-packages\seaborn\_decorators.py:36: FutureWarning: Pass the following variable as a keyword arg: x. From version 0.12, the only valid positional argument will be `data`, and passing other arguments without an explicit keyword will result in an error or misinterpretation.
  warnings.warn(
Out[29]:
<AxesSubplot:xlabel='tip_frac'>
In [31]:
sns.boxplot(tips["tip_frac"],tips["day"],tips["sex"],palette=["0.95","0.65"])
C:\Users\igors\miniconda3\envs\igorpython\lib\site-packages\seaborn\_decorators.py:36: FutureWarning: Pass the following variables as keyword args: x, y, hue. From version 0.12, the only valid positional argument will be `data`, and passing other arguments without an explicit keyword will result in an error or misinterpretation.
  warnings.warn(
Out[31]:
<AxesSubplot:xlabel='tip_frac', ylabel='day'>
In [44]:
tips.hist(column="tip_frac", by="sex",facecolor="0.6", sharex=True, bins=int(np.min(np.ceil(np.log2(tips.sex.value_counts())+1))))
plt.show()
In [46]:
tips.hist(column="tip_frac", by="sex",facecolor="0.6", sharex=True)
plt.show()
In [54]:
plt.subplot(121)
ax1 = sns.distplot(tips.tip_frac[tips.sex=="Male"], vertical = True)
plt.setp(ax1.get_yticklabels(), visible = False)
plt.xlim(plt.xlim()[::-1])
plt.title("Male")

plt.subplot(122, sharey=ax1)
ax2 = sns.distplot(tips.tip_frac[tips.sex == "Female"], vertical=True, axlabel=False)
plt.title("Female")
plt.show()
C:\Users\igors\miniconda3\envs\igorpython\lib\site-packages\seaborn\distributions.py:2619: FutureWarning: `distplot` is a deprecated function and will be removed in a future version. Please adapt your code to use either `displot` (a figure-level function with similar flexibility) or `histplot` (an axes-level function for histograms).
  warnings.warn(msg, FutureWarning)
C:\Users\igors\miniconda3\envs\igorpython\lib\site-packages\seaborn\distributions.py:1689: FutureWarning: The `vertical` parameter is deprecated and will be removed in a future version. Assign the data to the `y` variable instead.
  warnings.warn(msg, FutureWarning)
C:\Users\igors\miniconda3\envs\igorpython\lib\site-packages\seaborn\distributions.py:2619: FutureWarning: `distplot` is a deprecated function and will be removed in a future version. Please adapt your code to use either `displot` (a figure-level function with similar flexibility) or `histplot` (an axes-level function for histograms).
  warnings.warn(msg, FutureWarning)
C:\Users\igors\miniconda3\envs\igorpython\lib\site-packages\seaborn\distributions.py:1689: FutureWarning: The `vertical` parameter is deprecated and will be removed in a future version. Assign the data to the `y` variable instead.
  warnings.warn(msg, FutureWarning)
In [60]:
sns.pairplot(iris, diag_kind="kde", vars=["sepal_length", "sepal_width", "petal_length"])
plt.show()
In [58]:
iris
Out[58]:
sepal_length sepal_width petal_length petal_width species
0 5.1 3.5 1.4 0.2 setosa
1 4.9 3.0 1.4 0.2 setosa
2 4.7 3.2 1.3 0.2 setosa
3 4.6 3.1 1.5 0.2 setosa
4 5.0 3.6 1.4 0.2 setosa
... ... ... ... ... ...
145 6.7 3.0 5.2 2.3 virginica
146 6.3 2.5 5.0 1.9 virginica
147 6.5 3.0 5.2 2.0 virginica
148 6.2 3.4 5.4 2.3 virginica
149 5.9 3.0 5.1 1.8 virginica

150 rows × 5 columns

In [61]:
y = x = np.linspace(-5,5,250)
X, Y = np.meshgrid(x,y)
Z = X**2 + Y**2 + 10*np.sin(X)
In [74]:
plt.subplot(121)
CS = plt.contour(X, Y, Z, cmap="gray")
plt.clabel(CS, inline = 1, fontsize = 10)
plt.title("contour")

plt.subplot(122)
CS = plt.contourf(X,Y,Z,cmap="gray")
plt.colorbar(CS,shrink=0.9, extend="both")
plt.title("contourf")

plt.show()
In [88]:
import mpl_toolkits.mplot3d as m3d

fig = plt.figure()
sns.set(rc={"axes.facecolor":"white", "figure.facecolor":"white"})
ax = m3d.Axes3D(fig,azim=80,elev=10)
ax.plot_surface(X,Y,Z,cmap="gray",
                linewidth=0, edgecolor="none")
sns.set()
plt.show()
plt.figure(figsize=(3,3))
plt.savefig("rysunek_testowy_python.jpeg")
C:\Users\igors\AppData\Local\Temp/ipykernel_13172/3851932836.py:5: MatplotlibDeprecationWarning: Axes3D(fig) adding itself to the figure is deprecated since 3.4. Pass the keyword argument auto_add_to_figure=False and use fig.add_axes(ax) to suppress this warning. The default value of auto_add_to_figure will change to False in mpl3.5 and True values will no longer work in 3.6.  This is consistent with other Axes classes.
  ax = m3d.Axes3D(fig,azim=80,elev=10)
<Figure size 216x216 with 0 Axes>
In [2]:
import scipy
import scipy.stats as stats
import numpy as np
import statsmodels
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
In [100]:
stats.norm.cdf(0)
Out[100]:
0.5
In [101]:
stats.norm.pdf([0,1,2], loc=1, scale=2)
Out[101]:
array([0.17603266, 0.19947114, 0.17603266])
In [102]:
help(stats.norm.pdf)
Help on method pdf in module scipy.stats._distn_infrastructure:

pdf(x, *args, **kwds) method of scipy.stats._continuous_distns.norm_gen instance
    Probability density function at x of the given RV.
    
    Parameters
    ----------
    x : array_like
        quantiles
    arg1, arg2, arg3,... : array_like
        The shape parameter(s) for the distribution (see docstring of the
        instance object for more information)
    loc : array_like, optional
        location parameter (default=0)
    scale : array_like, optional
        scale parameter (default=1)
    
    Returns
    -------
    pdf : ndarray
        Probability density function evaluated at x

In [103]:
x = np.linspace(-4,6,100)
plt.plot(x, stats.norm.pdf(x, scale=0.5), "k--")
plt.plot(x, stats.norm.pdf(x), "r-")
plt.plot(x, stats.norm.pdf(x, 2, 1), "b-.")
plt.show()
In [104]:
x = np.linspace(-4,6,100)
plt.plot(x, stats.norm.cdf(x, scale=0.5), "k--")
plt.plot(x, stats.norm.cdf(x), "r-")
plt.plot(x, stats.norm.cdf(x, 2, 1), "b-.")
plt.show()
In [105]:
stats.expon.mean(scale=0.5)
Out[105]:
0.5
In [107]:
plt.plot(x, stats.expon.pdf(x, scale=0.5), "k--")
Out[107]:
[<matplotlib.lines.Line2D at 0x288349c0400>]
In [108]:
e = stats.expon(scale=0.5)
e.mean()
Out[108]:
0.5
In [109]:
e.median()
Out[109]:
0.34657359027997264
In [110]:
e.ppf(0.25)
Out[110]:
0.14384103622589045
In [111]:
e.ppf(0.75)
Out[111]:
0.6931471805599453
In [112]:
e.var()
Out[112]:
0.25
In [113]:
e.std()
Out[113]:
0.5
In [114]:
e.stats(moments="s")
Out[114]:
array(2.)
In [115]:
e.stats(moments="k")
Out[115]:
array(6.)
In [117]:
stats.norm.cdf(4,loc=7,scale=1.5)
Out[117]:
0.022750131948179195
In [118]:
1-stats.norm.cdf(5,loc=7,scale=1.5)
#albo z f. przeżycia: cdf -> sf
Out[118]:
0.9087887802741321
In [121]:
stats.norm.cdf(6,loc=7,scale=1.5)-stats.norm.cdf(2,loc=7,scale=1.5)
Out[121]:
0.2520634772137261
In [122]:
stats.norm.ppf(0.75,loc=7,scale=1.5)
Out[122]:
8.011734625294123
In [126]:
b = stats.binom(n=11, p=0.5)
1-b.cdf(3)
Out[126]:
0.88671875
In [127]:
1-np.sum(b.pmf(np.array([0,1,2,3])))
Out[127]:
0.88671875
In [128]:
help(stats.binom)
Help on binom_gen in module scipy.stats._discrete_distns:

<scipy.stats._discrete_distns.binom_gen object>
    A binomial discrete random variable.
    
    As an instance of the `rv_discrete` class, `binom` object inherits from it
    a collection of generic methods (see below for the full list),
    and completes them with details specific for this particular distribution.
    
    Methods
    -------
    rvs(n, p, loc=0, size=1, random_state=None)
        Random variates.
    pmf(k, n, p, loc=0)
        Probability mass function.
    logpmf(k, n, p, loc=0)
        Log of the probability mass function.
    cdf(k, n, p, loc=0)
        Cumulative distribution function.
    logcdf(k, n, p, loc=0)
        Log of the cumulative distribution function.
    sf(k, n, p, loc=0)
        Survival function  (also defined as ``1 - cdf``, but `sf` is sometimes more accurate).
    logsf(k, n, p, loc=0)
        Log of the survival function.
    ppf(q, n, p, loc=0)
        Percent point function (inverse of ``cdf`` --- percentiles).
    isf(q, n, p, loc=0)
        Inverse survival function (inverse of ``sf``).
    stats(n, p, loc=0, moments='mv')
        Mean('m'), variance('v'), skew('s'), and/or kurtosis('k').
    entropy(n, p, loc=0)
        (Differential) entropy of the RV.
    expect(func, args=(n, p), loc=0, lb=None, ub=None, conditional=False)
        Expected value of a function (of one argument) with respect to the distribution.
    median(n, p, loc=0)
        Median of the distribution.
    mean(n, p, loc=0)
        Mean of the distribution.
    var(n, p, loc=0)
        Variance of the distribution.
    std(n, p, loc=0)
        Standard deviation of the distribution.
    interval(alpha, n, p, loc=0)
        Endpoints of the range that contains fraction alpha [0, 1] of the
        distribution
    
    Notes
    -----
    The probability mass function for `binom` is:
    
    .. math::
    
       f(k) = \binom{n}{k} p^k (1-p)^{n-k}
    
    for :math:`k \in \{0, 1, \dots, n\}`, :math:`0 \leq p \leq 1`
    
    `binom` takes :math:`n` and :math:`p` as shape parameters,
    where :math:`p` is the probability of a single success
    and :math:`1-p` is the probability of a single failure.
    
    The probability mass function above is defined in the "standardized" form.
    To shift distribution use the ``loc`` parameter.
    Specifically, ``binom.pmf(k, n, p, loc)`` is identically
    equivalent to ``binom.pmf(k - loc, n, p)``.
    
    Examples
    --------
    >>> from scipy.stats import binom
    >>> import matplotlib.pyplot as plt
    >>> fig, ax = plt.subplots(1, 1)
    
    Calculate the first four moments:
    
    >>> n, p = 5, 0.4
    >>> mean, var, skew, kurt = binom.stats(n, p, moments='mvsk')
    
    Display the probability mass function (``pmf``):
    
    >>> x = np.arange(binom.ppf(0.01, n, p),
    ...               binom.ppf(0.99, n, p))
    >>> ax.plot(x, binom.pmf(x, n, p), 'bo', ms=8, label='binom pmf')
    >>> ax.vlines(x, 0, binom.pmf(x, n, p), colors='b', lw=5, alpha=0.5)
    
    Alternatively, the distribution object can be called (as a function)
    to fix the shape and location. This returns a "frozen" RV object holding
    the given parameters fixed.
    
    Freeze the distribution and display the frozen ``pmf``:
    
    >>> rv = binom(n, p)
    >>> ax.vlines(x, 0, rv.pmf(x), colors='k', linestyles='-', lw=1,
    ...         label='frozen pmf')
    >>> ax.legend(loc='best', frameon=False)
    >>> plt.show()
    
    Check accuracy of ``cdf`` and ``ppf``:
    
    >>> prob = binom.cdf(x, n, p)
    >>> np.allclose(x, binom.ppf(prob, n, p))
    True
    
    Generate random numbers:
    
    >>> r = binom.rvs(n, p, size=1000)
    
    See Also
    --------
    hypergeom, nbinom, nhypergeom

In [130]:
r = stats.binom(n=3,p=0.25)
r.cdf(0)
Out[130]:
0.42187500000000006
In [131]:
stats.cauchy.rvs(size=4)
Out[131]:
array([-0.32006147,  0.65411616, -2.1756477 ,  1.1249956 ])
In [133]:
stats.cauchy.rvs(loc=0,scale=5, size=(2,3))
Out[133]:
array([[26.2159626 , -0.95976867,  6.53214708],
       [-3.60134497,  8.41795922, -2.13412934]])
In [134]:
#graficznie reguła tzw pięciu procent
fn=stats.norm(loc=1, scale=1)
In [148]:
x=np.linspace(-4,6,100,endpoint=True)
plt.plot(x, fn.pdf(x), "k-", lw=2)

plt.axvline(fn.mean(), color="k")
plt.axvline(fn.mean()-2*fn.std(), color="k", ls="--")
plt.axvline(fn.mean()+2*fn.std(), color="k", ls="--")

z=np.linspace(fn.mean()-2*fn.std(), fn.mean()+2*fn.std(), 100)
plt.fill_between(z, 0, fn.pdf(z), color="0.7")
plt.show()
In [144]:
fn.pdf(z)
Out[144]:
array([0.05399097, 0.05848724, 0.06325461, 0.06829898, 0.07362533,
       0.07923761, 0.0851386 , 0.09132982, 0.09781147, 0.10458224,
       0.11163931, 0.11897819, 0.12659268, 0.13447478, 0.14261464,
       0.15100051, 0.15961869, 0.16845351, 0.17748736, 0.18670064,
       0.19607183, 0.20557752, 0.21519246, 0.22488967, 0.23464051,
       0.24441479, 0.25418095, 0.26390617, 0.27355653, 0.28309726,
       0.29249286, 0.30170735, 0.31070449, 0.31944801, 0.32790184,
       0.33603039, 0.34379874, 0.35117292, 0.35812016, 0.36460914,
       0.37061018, 0.37609553, 0.38103951, 0.38541877, 0.38921247,
       0.39240239, 0.39497314, 0.39691225, 0.39821028, 0.39886088,
       0.39886088, 0.39821028, 0.39691225, 0.39497314, 0.39240239,
       0.38921247, 0.38541877, 0.38103951, 0.37609553, 0.37061018,
       0.36460914, 0.35812016, 0.35117292, 0.34379874, 0.33603039,
       0.32790184, 0.31944801, 0.31070449, 0.30170735, 0.29249286,
       0.28309726, 0.27355653, 0.26390617, 0.25418095, 0.24441479,
       0.23464051, 0.22488967, 0.21519246, 0.20557752, 0.19607183,
       0.18670064, 0.17748736, 0.16845351, 0.15961869, 0.15100051,
       0.14261464, 0.13447478, 0.12659268, 0.11897819, 0.11163931,
       0.10458224, 0.09781147, 0.09132982, 0.0851386 , 0.07923761,
       0.07362533, 0.06829898, 0.06325461, 0.05848724, 0.05399097])
In [150]:
x = np.random.beta(1,2,500)
a, b, loc, scale = stats.beta.fit(x)
In [151]:
a, b
Out[151]:
(0.8890470136732171, 1.751480199626478)
In [152]:
loc, scale
Out[152]:
(0.0005957095583563519, 1.0116551697726832)
In [154]:
stats.beta.fit(x, floc=0, fscale=1)
Out[154]:
(0.914808570344014, 1.8050115868787706, 0, 1)
In [155]:
#ciag 100 niezaleznych zmiennych osowych z r chi-kwadrat o df=3
x = np.random.chisquare(3,100)
f = lambda df: stats.chi2.nnlf(np.r_[df, 0, 1], x)
In [156]:
df0 = np.mean(x)
import scipy.optimize
scipy.optimize.minimize(f,df0)
Out[156]:
      fun: 227.00095375745906
 hess_inv: array([[0.039264]])
      jac: array([1.90734863e-06])
  message: 'Optimization terminated successfully.'
     nfev: 12
      nit: 4
     njev: 6
   status: 0
  success: True
        x: array([2.8171581])
In [157]:
df0
Out[157]:
3.350926181642391
In [161]:
def przufn_Bern_asympt(x, pozufn=0.95):
    p = np.mean(x)
    z = stats.norm.ppf(q=0.5*(1+pozufn))
    d = np.sqrt(p*(1.0-p)/len(x))
    return p + np.r_[-1.0, 1.0]*z*d
In [162]:
x = stats.bernoulli.rvs(p=0.3, size=100)
przufn_Bern_asympt(x)
Out[162]:
array([0.26592173, 0.45407827])
In [160]:
x
Out[160]:
array([1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0,
       1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0,
       0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])
In [171]:
def przufn_norm(x, pozufn=0.95):
    m = np.mean(x)
    t = stats.t.ppf(q=0.5*(1+pozufn), df=len(x)-1)
    d = x.std(ddof=1)/np.sqrt(len(x))
    return m + np.r_[-1.0,1.0]*t*d
In [172]:
K = 100
n = 20
m = 0
s = 1
In [173]:
granice = np.empty((K,2))
for i in range(K):
    x = np.random.normal(m, s, size=n)
    granice[i,:] = przufn_norm(x)
    
In [174]:
ile = ((granice[:,0] <= m) & (m<=granice[:,1]))
ile.mean()
Out[174]:
0.96
In [175]:
for i in range(K): plt.plot(granice[i,:], [i]*2, "k.-")
plt.axvline(0, color="k")
plt.yticks([])
plt.show()
In [4]:
tips = sns.load_dataset("tips")
tips.head()
Out[4]:
total_bill tip sex smoker day time size
0 16.99 1.01 Female No Sun Dinner 2
1 10.34 1.66 Male No Sun Dinner 3
2 21.01 3.50 Male No Sun Dinner 3
3 23.68 3.31 Male No Sun Dinner 2
4 24.59 3.61 Female No Sun Dinner 4
In [5]:
tips["logtip"] = np.log(tips.tip)
In [6]:
m, s= stats.norm.fit(tips.logtip)
m, s
Out[6]:
(1.0025376996300006, 0.4352662333177251)
In [7]:
plt.subplot(121)
plt.axis([-0.5,3,0,1])
ecdf = statsmodels.distributions.ECDF(tips.logtip)
plt.step(ecdf.x, ecdf.y, "k-")
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
~\AppData\Local\Temp/ipykernel_14988/3409112195.py in <module>
      1 plt.subplot(121)
      2 plt.axis([-0.5,3,0,1])
----> 3 ecdf = statsmodels.distributions.ECDF(tips.logtip)
      4 plt.step(ecdf.x, ecdf.y, "k-")

AttributeError: module 'statsmodels' has no attribute 'distributions'
In [9]:
stats.probplot(tips.logtip, dist=stats.norm, plot=plt)
Out[9]:
((array([-2.7660794 , -2.46319801, -2.29114787, -2.16825434, -2.07137443,
         -1.99075074, -1.9213089 , -1.86005848, -1.80508277, -1.75507658,
         -1.70910939, -1.66649348, -1.62670558, -1.58933792, -1.55406631,
         -1.52062855, -1.48880944, -1.45843008, -1.42934008, -1.40141172,
         -1.37453559, -1.34861722, -1.32357442, -1.29933525, -1.27583633,
         -1.25302156, -1.230841  , -1.20924999, -1.18820845, -1.16768023,
         -1.14763264, -1.12803597, -1.10886319, -1.09008958, -1.07169252,
         -1.0536512 , -1.03594646, -1.01856064, -1.00147737, -0.98468148,
         -0.96815887, -0.95189643, -0.93588192, -0.9201039 , -0.90455168,
         -0.88921522, -0.87408512, -0.85915251, -0.84440907, -0.82984693,
         -0.81545867, -0.80123728, -0.78717613, -0.77326892, -0.75950968,
         -0.74589275, -0.73241275, -0.71906453, -0.70584322, -0.69274417,
         -0.67976291, -0.66689521, -0.65413699, -0.64148438, -0.62893363,
         -0.61648119, -0.60412361, -0.59185761, -0.57968002, -0.56758779,
         -0.555578  , -0.54364781, -0.5317945 , -0.52001544, -0.5083081 ,
         -0.49667002, -0.48509883, -0.47359222, -0.46214799, -0.45076396,
         -0.43943806, -0.42816824, -0.41695255, -0.40578907, -0.39467593,
         -0.38361132, -0.37259348, -0.36162069, -0.35069126, -0.33980357,
         -0.32895601, -0.31814702, -0.30737508, -0.29663869, -0.28593638,
         -0.27526672, -0.26462831, -0.25401977, -0.24343974, -0.23288689,
         -0.22235991, -0.21185751, -0.20137843, -0.19092142, -0.18048525,
         -0.1700687 , -0.15967057, -0.14928967, -0.13892484, -0.12857491,
         -0.11823873, -0.10791517, -0.09760311, -0.08730141, -0.07700896,
         -0.06672467, -0.05644743, -0.04617615, -0.03590974, -0.02564712,
         -0.01538719, -0.00512888,  0.00512888,  0.01538719,  0.02564712,
          0.03590974,  0.04617615,  0.05644743,  0.06672467,  0.07700896,
          0.08730141,  0.09760311,  0.10791517,  0.11823873,  0.12857491,
          0.13892484,  0.14928967,  0.15967057,  0.1700687 ,  0.18048525,
          0.19092142,  0.20137843,  0.21185751,  0.22235991,  0.23288689,
          0.24343974,  0.25401977,  0.26462831,  0.27526672,  0.28593638,
          0.29663869,  0.30737508,  0.31814702,  0.32895601,  0.33980357,
          0.35069126,  0.36162069,  0.37259348,  0.38361132,  0.39467593,
          0.40578907,  0.41695255,  0.42816824,  0.43943806,  0.45076396,
          0.46214799,  0.47359222,  0.48509883,  0.49667002,  0.5083081 ,
          0.52001544,  0.5317945 ,  0.54364781,  0.555578  ,  0.56758779,
          0.57968002,  0.59185761,  0.60412361,  0.61648119,  0.62893363,
          0.64148438,  0.65413699,  0.66689521,  0.67976291,  0.69274417,
          0.70584322,  0.71906453,  0.73241275,  0.74589275,  0.75950968,
          0.77326892,  0.78717613,  0.80123728,  0.81545867,  0.82984693,
          0.84440907,  0.85915251,  0.87408512,  0.88921522,  0.90455168,
          0.9201039 ,  0.93588192,  0.95189643,  0.96815887,  0.98468148,
          1.00147737,  1.01856064,  1.03594646,  1.0536512 ,  1.07169252,
          1.09008958,  1.10886319,  1.12803597,  1.14763264,  1.16768023,
          1.18820845,  1.20924999,  1.230841  ,  1.25302156,  1.27583633,
          1.29933525,  1.32357442,  1.34861722,  1.37453559,  1.40141172,
          1.42934008,  1.45843008,  1.48880944,  1.52062855,  1.55406631,
          1.58933792,  1.62670558,  1.66649348,  1.70910939,  1.75507658,
          1.80508277,  1.86005848,  1.9213089 ,  1.99075074,  2.07137443,
          2.16825434,  2.29114787,  2.46319801,  2.7660794 ]),
  array([0.        , 0.        , 0.        , 0.        , 0.00995033,
         0.09531018, 0.15700375, 0.22314355, 0.22314355, 0.22314355,
         0.27763174, 0.3074847 , 0.36464311, 0.36464311, 0.37156356,
         0.3852624 , 0.39204209, 0.40546511, 0.40546511, 0.40546511,
         0.40546511, 0.40546511, 0.40546511, 0.40546511, 0.40546511,
         0.40546511, 0.44468582, 0.45107562, 0.45742485, 0.47623418,
         0.48858001, 0.49469624, 0.5068176 , 0.51282363, 0.51879379,
         0.53649337, 0.54812141, 0.55961579, 0.56531381, 0.58778666,
         0.60431597, 0.65232519, 0.67294447, 0.67803354, 0.68309684,
         0.69314718, 0.69314718, 0.69314718, 0.69314718, 0.69314718,
         0.69314718, 0.69314718, 0.69314718, 0.69314718, 0.69314718,
         0.69314718, 0.69314718, 0.69314718, 0.69314718, 0.69314718,
         0.69314718, 0.69314718, 0.69314718, 0.69314718, 0.69314718,
         0.69314718, 0.69314718, 0.69314718, 0.69314718, 0.69314718,
         0.69314718, 0.69314718, 0.69314718, 0.69314718, 0.69314718,
         0.69314718, 0.69314718, 0.69314718, 0.69813472, 0.69813472,
         0.70309751, 0.70803579, 0.70803579, 0.71783979, 0.73716407,
         0.77932488, 0.78845736, 0.78845736, 0.80200159, 0.80200159,
         0.80647587, 0.80647587, 0.83290912, 0.83724752, 0.83724752,
         0.85015093, 0.89608802, 0.90421815, 0.91629073, 0.91629073,
         0.91629073, 0.91629073, 0.91629073, 0.91629073, 0.91629073,
         0.91629073, 0.91629073, 0.91629073, 0.9242589 , 0.93216408,
         0.93609336, 0.94000726, 0.95551145, 0.95935022, 0.97077892,
         0.99694863, 1.00063188, 1.00795792, 1.01160091, 1.01160091,
         1.04027671, 1.05779029, 1.07158362, 1.09861229, 1.09861229,
         1.09861229, 1.09861229, 1.09861229, 1.09861229, 1.09861229,
         1.09861229, 1.09861229, 1.09861229, 1.09861229, 1.09861229,
         1.09861229, 1.09861229, 1.09861229, 1.09861229, 1.09861229,
         1.09861229, 1.09861229, 1.09861229, 1.09861229, 1.09861229,
         1.09861229, 1.10525683, 1.11841492, 1.12167756, 1.1249296 ,
         1.12817109, 1.13462273, 1.137833  , 1.1442228 , 1.14740245,
         1.15057203, 1.1568812 , 1.1568812 , 1.16627094, 1.17248214,
         1.17248214, 1.178655  , 1.178655  , 1.18478998, 1.19694819,
         1.20896035, 1.22082992, 1.22377543, 1.22671229, 1.24703229,
         1.24703229, 1.24703229, 1.25276297, 1.25276297, 1.25276297,
         1.25276297, 1.25276297, 1.25276297, 1.25276297, 1.25276297,
         1.25276297, 1.25561604, 1.2669476 , 1.28093385, 1.28370777,
         1.30291275, 1.31103188, 1.32175584, 1.32441896, 1.32441896,
         1.36609165, 1.38629436, 1.38629436, 1.38629436, 1.38629436,
         1.38629436, 1.38629436, 1.38629436, 1.38629436, 1.38629436,
         1.38629436, 1.38629436, 1.38629436, 1.40118297, 1.40609699,
         1.40609699, 1.43270073, 1.43508453, 1.45628673, 1.45861502,
         1.45861502, 1.46787435, 1.5040774 , 1.54115907, 1.54968791,
         1.5539252 , 1.60943791, 1.60943791, 1.60943791, 1.60943791,
         1.60943791, 1.60943791, 1.60943791, 1.60943791, 1.60943791,
         1.60943791, 1.62334082, 1.63705308, 1.63899671, 1.64093658,
         1.64287269, 1.64865863, 1.7227666 , 1.73165555, 1.76644166,
         1.77833645, 1.79175947, 1.87180218, 1.87180218, 1.90210753,
         1.90657514, 2.0255132 , 2.19722458, 2.30258509])),
 (0.437169269850347, 1.0025376996300004, 0.9949086980990652))
In [10]:
test = stats.skewtest(tips.logtip)
test
Out[10]:
SkewtestResult(statistic=0.49672635658719194, pvalue=0.619382033531661)
In [11]:
type(test)
Out[11]:
scipy.stats._stats_py.SkewtestResult
In [12]:
test.statistic
Out[12]:
0.49672635658719194
In [13]:
test.pvalue
Out[13]:
0.619382033531661
In [14]:
stats.kurtosistest(tips.logtip)
Out[14]:
KurtosistestResult(statistic=-0.5011192568367938, pvalue=0.6162871950497942)
In [15]:
stats.shapiro(tips.logtip)
Out[15]:
ShapiroResult(statistic=0.9888471961021423, pvalue=0.05621703341603279)
In [16]:
norm = stats.norm(m,s)
In [17]:
norm
Out[17]:
<scipy.stats._distn_infrastructure.rv_frozen at 0x1e38e1adee0>
In [18]:
stats.kstest(tips.logtip, norm.cdf)
Out[18]:
KstestResult(statistic=0.0908346084933565, pvalue=0.033449454468464035)
In [19]:
N = tips.day.value_counts()
In [20]:
N
Out[20]:
Sat     87
Sun     76
Thur    62
Fri     19
Name: day, dtype: int64
In [21]:
stats.chisquare(N, np.r_[0.25, 0.25, 0.25, 0.25]*N.sum())
Out[21]:
Power_divergenceResult(statistic=43.704918032786885, pvalue=1.7434891890557612e-09)
In [22]:
stats.chisquare(N)
Out[22]:
Power_divergenceResult(statistic=43.704918032786885, pvalue=1.7434891890557612e-09)
In [23]:
help(stats.chisquare)
Help on function chisquare in module scipy.stats._stats_py:

chisquare(f_obs, f_exp=None, ddof=0, axis=0)
    Calculate a one-way chi-square test.
    
    The chi-square test tests the null hypothesis that the categorical data
    has the given frequencies.
    
    Parameters
    ----------
    f_obs : array_like
        Observed frequencies in each category.
    f_exp : array_like, optional
        Expected frequencies in each category.  By default the categories are
        assumed to be equally likely.
    ddof : int, optional
        "Delta degrees of freedom": adjustment to the degrees of freedom
        for the p-value.  The p-value is computed using a chi-squared
        distribution with ``k - 1 - ddof`` degrees of freedom, where `k`
        is the number of observed frequencies.  The default value of `ddof`
        is 0.
    axis : int or None, optional
        The axis of the broadcast result of `f_obs` and `f_exp` along which to
        apply the test.  If axis is None, all values in `f_obs` are treated
        as a single data set.  Default is 0.
    
    Returns
    -------
    chisq : float or ndarray
        The chi-squared test statistic.  The value is a float if `axis` is
        None or `f_obs` and `f_exp` are 1-D.
    p : float or ndarray
        The p-value of the test.  The value is a float if `ddof` and the
        return value `chisq` are scalars.
    
    See Also
    --------
    scipy.stats.power_divergence
    scipy.stats.fisher_exact : Fisher exact test on a 2x2 contingency table.
    scipy.stats.barnard_exact : An unconditional exact test. An alternative
        to chi-squared test for small sample sizes.
    
    Notes
    -----
    This test is invalid when the observed or expected frequencies in each
    category are too small.  A typical rule is that all of the observed
    and expected frequencies should be at least 5. According to [3]_, the
    total number of samples is recommended to be greater than 13,
    otherwise exact tests (such as Barnard's Exact test) should be used
    because they do not overreject.
    
    Also, the sum of the observed and expected frequencies must be the same
    for the test to be valid; `chisquare` raises an error if the sums do not
    agree within a relative tolerance of ``1e-8``.
    
    The default degrees of freedom, k-1, are for the case when no parameters
    of the distribution are estimated. If p parameters are estimated by
    efficient maximum likelihood then the correct degrees of freedom are
    k-1-p. If the parameters are estimated in a different way, then the
    dof can be between k-1-p and k-1. However, it is also possible that
    the asymptotic distribution is not chi-square, in which case this test
    is not appropriate.
    
    References
    ----------
    .. [1] Lowry, Richard.  "Concepts and Applications of Inferential
           Statistics". Chapter 8.
           https://web.archive.org/web/20171022032306/http://vassarstats.net:80/textbook/ch8pt1.html
    .. [2] "Chi-squared test", https://en.wikipedia.org/wiki/Chi-squared_test
    .. [3] Pearson, Karl. "On the criterion that a given system of deviations from the probable
           in the case of a correlated system of variables is such that it can be reasonably
           supposed to have arisen from random sampling", Philosophical Magazine. Series 5. 50
           (1900), pp. 157-175.
    
    Examples
    --------
    When just `f_obs` is given, it is assumed that the expected frequencies
    are uniform and given by the mean of the observed frequencies.
    
    >>> from scipy.stats import chisquare
    >>> chisquare([16, 18, 16, 14, 12, 12])
    (2.0, 0.84914503608460956)
    
    With `f_exp` the expected frequencies can be given.
    
    >>> chisquare([16, 18, 16, 14, 12, 12], f_exp=[16, 16, 16, 16, 16, 8])
    (3.5, 0.62338762774958223)
    
    When `f_obs` is 2-D, by default the test is applied to each column.
    
    >>> obs = np.array([[16, 18, 16, 14, 12, 12], [32, 24, 16, 28, 20, 24]]).T
    >>> obs.shape
    (6, 2)
    >>> chisquare(obs)
    (array([ 2.        ,  6.66666667]), array([ 0.84914504,  0.24663415]))
    
    By setting ``axis=None``, the test is applied to all data in the array,
    which is equivalent to applying the test to the flattened array.
    
    >>> chisquare(obs, axis=None)
    (23.31034482758621, 0.015975692534127565)
    >>> chisquare(obs.ravel())
    (23.31034482758621, 0.015975692534127565)
    
    `ddof` is the change to make to the default degrees of freedom.
    
    >>> chisquare([16, 18, 16, 14, 12, 12], ddof=1)
    (2.0, 0.73575888234288467)
    
    The calculation of the p-values is done by broadcasting the
    chi-squared statistic with `ddof`.
    
    >>> chisquare([16, 18, 16, 14, 12, 12], ddof=[0,1,2])
    (2.0, array([ 0.84914504,  0.73575888,  0.5724067 ]))
    
    `f_obs` and `f_exp` are also broadcast.  In the following, `f_obs` has
    shape (6,) and `f_exp` has shape (2, 6), so the result of broadcasting
    `f_obs` and `f_exp` has shape (2, 6).  To compute the desired chi-squared
    statistics, we use ``axis=1``:
    
    >>> chisquare([16, 18, 16, 14, 12, 12],
    ...           f_exp=[[16, 16, 16, 16, 16, 8], [8, 20, 20, 16, 12, 12]],
    ...           axis=1)
    (array([ 3.5 ,  9.25]), array([ 0.62338763,  0.09949846]))

In [24]:
stats.ttest_1samp(tips.logtip, popmean=1)
Out[24]:
Ttest_1sampResult(statistic=0.09088419733380054, pvalue=0.927659478192855)
In [26]:
tips.logtip.groupby(tips.day).mean()
Out[26]:
day
Thur    0.932488
Fri     0.931926
Sat     0.978022
Sun     1.105401
Name: logtip, dtype: float64
In [27]:
tips.logtip.groupby(tips.day).apply(lambda x:
                                   pd.Series(stats.shapiro(x),
                                            index=["statistic", "p-value"])).unstack().T
Out[27]:
day Thur Fri Sat Sun
statistic 0.950247 0.955783 0.979544 0.973801
p-value 0.013716 0.492458 0.184291 0.116961
In [28]:
logtip_day = [z[1] for z in tips.logtip.groupby(tips.day)]
In [29]:
stats.bartlett(*logtip_day)
Out[29]:
BartlettResult(statistic=3.1949619130894487, pvalue=0.36253156087065547)
In [32]:
stats.f_oneway(*logtip_day)
Out[32]:
F_onewayResult(statistic=2.233205110714639, pvalue=0.08499127498325998)
In [31]:
help(stats.f_oneway)
Help on function f_oneway in module scipy.stats._stats_py:

f_oneway(*args, axis=0)
    Perform one-way ANOVA.
    
    The one-way ANOVA tests the null hypothesis that two or more groups have
    the same population mean.  The test is applied to samples from two or
    more groups, possibly with differing sizes.
    
    Parameters
    ----------
    sample1, sample2, ... : array_like
        The sample measurements for each group.  There must be at least
        two arguments.  If the arrays are multidimensional, then all the
        dimensions of the array must be the same except for `axis`.
    axis : int, optional
        Axis of the input arrays along which the test is applied.
        Default is 0.
    
    Returns
    -------
    statistic : float
        The computed F statistic of the test.
    pvalue : float
        The associated p-value from the F distribution.
    
    Warns
    -----
    F_onewayConstantInputWarning
        Raised if each of the input arrays is constant array.
        In this case the F statistic is either infinite or isn't defined,
        so ``np.inf`` or ``np.nan`` is returned.
    
    F_onewayBadInputSizesWarning
        Raised if the length of any input array is 0, or if all the input
        arrays have length 1.  ``np.nan`` is returned for the F statistic
        and the p-value in these cases.
    
    Notes
    -----
    The ANOVA test has important assumptions that must be satisfied in order
    for the associated p-value to be valid.
    
    1. The samples are independent.
    2. Each sample is from a normally distributed population.
    3. The population standard deviations of the groups are all equal.  This
       property is known as homoscedasticity.
    
    If these assumptions are not true for a given set of data, it may still
    be possible to use the Kruskal-Wallis H-test (`scipy.stats.kruskal`) or
    the Alexander-Govern test (`scipy.stats.alexandergovern`) although with
    some loss of power.
    
    The length of each group must be at least one, and there must be at
    least one group with length greater than one.  If these conditions
    are not satisfied, a warning is generated and (``np.nan``, ``np.nan``)
    is returned.
    
    If each group contains constant values, and there exist at least two
    groups with different values, the function generates a warning and
    returns (``np.inf``, 0).
    
    If all values in all groups are the same, function generates a warning
    and returns (``np.nan``, ``np.nan``).
    
    The algorithm is from Heiman [2]_, pp.394-7.
    
    References
    ----------
    .. [1] R. Lowry, "Concepts and Applications of Inferential Statistics",
           Chapter 14, 2014, http://vassarstats.net/textbook/
    
    .. [2] G.W. Heiman, "Understanding research methods and statistics: An
           integrated introduction for psychology", Houghton, Mifflin and
           Company, 2001.
    
    .. [3] G.H. McDonald, "Handbook of Biological Statistics", One-way ANOVA.
           http://www.biostathandbook.com/onewayanova.html
    
    Examples
    --------
    >>> from scipy.stats import f_oneway
    
    Here are some data [3]_ on a shell measurement (the length of the anterior
    adductor muscle scar, standardized by dividing by length) in the mussel
    Mytilus trossulus from five locations: Tillamook, Oregon; Newport, Oregon;
    Petersburg, Alaska; Magadan, Russia; and Tvarminne, Finland, taken from a
    much larger data set used in McDonald et al. (1991).
    
    >>> tillamook = [0.0571, 0.0813, 0.0831, 0.0976, 0.0817, 0.0859, 0.0735,
    ...              0.0659, 0.0923, 0.0836]
    >>> newport = [0.0873, 0.0662, 0.0672, 0.0819, 0.0749, 0.0649, 0.0835,
    ...            0.0725]
    >>> petersburg = [0.0974, 0.1352, 0.0817, 0.1016, 0.0968, 0.1064, 0.105]
    >>> magadan = [0.1033, 0.0915, 0.0781, 0.0685, 0.0677, 0.0697, 0.0764,
    ...            0.0689]
    >>> tvarminne = [0.0703, 0.1026, 0.0956, 0.0973, 0.1039, 0.1045]
    >>> f_oneway(tillamook, newport, petersburg, magadan, tvarminne)
    F_onewayResult(statistic=7.121019471642447, pvalue=0.0002812242314534544)
    
    `f_oneway` accepts multidimensional input arrays.  When the inputs
    are multidimensional and `axis` is not given, the test is performed
    along the first axis of the input arrays.  For the following data, the
    test is performed three times, once for each column.
    
    >>> a = np.array([[9.87, 9.03, 6.81],
    ...               [7.18, 8.35, 7.00],
    ...               [8.39, 7.58, 7.68],
    ...               [7.45, 6.33, 9.35],
    ...               [6.41, 7.10, 9.33],
    ...               [8.00, 8.24, 8.44]])
    >>> b = np.array([[6.35, 7.30, 7.16],
    ...               [6.65, 6.68, 7.63],
    ...               [5.72, 7.73, 6.72],
    ...               [7.01, 9.19, 7.41],
    ...               [7.75, 7.87, 8.30],
    ...               [6.90, 7.97, 6.97]])
    >>> c = np.array([[3.31, 8.77, 1.01],
    ...               [8.25, 3.24, 3.62],
    ...               [6.32, 8.81, 5.19],
    ...               [7.48, 8.83, 8.91],
    ...               [8.59, 6.01, 6.07],
    ...               [3.07, 9.72, 7.48]])
    >>> F, p = f_oneway(a, b, c)
    >>> F
    array([1.75676344, 0.03701228, 3.76439349])
    >>> p
    array([0.20630784, 0.96375203, 0.04733157])

In [33]:
import statsmodels.formula.api, statsmodels.api

model = statsmodels.formula.api.ols("logtip~C(day)", data=tips).fit()
In [34]:
statsmodels.api.stats.anova_lm(model)
Out[34]:
df sum_sq mean_sq F PR(>F)
C(day) 3.0 1.255397 0.418466 2.233205 0.084991
Residual 240.0 44.972036 0.187383 NaN NaN
In [40]:
flights2 = flights.dropna().sample(n=300, random_state=123)
In [41]:
stats.shapiro(flights2.dep_delay)
Out[41]:
ShapiroResult(statistic=0.6195470094680786, pvalue=2.9560195840441754e-25)
In [42]:
stats.shapiro(flights2.arr_delay)
Out[42]:
ShapiroResult(statistic=0.822949230670929, pvalue=7.887033137433885e-18)
In [43]:
stats.ks_2samp(flights.dep_delay, flights.arr_delay)
Out[43]:
KstestResult(statistic=0.3562486638002708, pvalue=0.0)
In [44]:
stats.mannwhitneyu(flights.dep_delay, flights.arr_delay)
Out[44]:
MannwhitneyuResult(statistic=nan, pvalue=nan)
In [1]:
#MACHINE LEARNING!!!!!!!!!!!!!!!!!!!!!!!
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt, seaborn as sns
import sklearn
import os.path
In [2]:
wine = pd.read_csv(os.path.join(os.getcwd(),"Downloads","winequality-all.csv"), comment="#")
wine.color = wine.color.astype("category")
In [52]:
wine.shape
Out[52]:
(5320, 13)
In [54]:
print(wine.columns.str.cat(sep=", "))
fixed.acidity, volatile.acidity, citric.acid, residual.sugar, chlorides, free.sulfur.dioxide, total.sulfur.dioxide, density, pH, sulphates, alcohol, response, color
In [3]:
wine.iloc[:,0:11].describe().round(1).T.iloc[:,1:]
Out[3]:
mean std min 25% 50% 75% max
fixed.acidity 7.2 1.3 3.8 6.4 7.0 7.7 15.9
volatile.acidity 0.3 0.2 0.1 0.2 0.3 0.4 1.6
citric.acid 0.3 0.1 0.0 0.2 0.3 0.4 1.7
residual.sugar 5.0 4.5 0.6 1.8 2.7 7.5 65.8
chlorides 0.1 0.0 0.0 0.0 0.0 0.1 0.6
free.sulfur.dioxide 30.0 17.8 1.0 16.0 28.0 41.0 289.0
total.sulfur.dioxide 114.1 56.8 6.0 74.0 116.0 153.2 440.0
density 1.0 0.0 1.0 1.0 1.0 1.0 1.0
pH 3.2 0.2 2.7 3.1 3.2 3.3 4.0
sulphates 0.5 0.1 0.2 0.4 0.5 0.6 2.0
alcohol 10.5 1.2 8.0 9.5 10.4 11.4 14.9
In [7]:
wine.color.value_counts()
Out[7]:
white    3961
red      1359
Name: color, dtype: int64
In [4]:
white_wine = wine[wine.color=="white"]
white_wine = white_wine.iloc[:,0:11]
In [5]:
y=white_wine.iloc[:,-1]
X=white_wine.iloc[:,:-1]
In [6]:
c=white_wine.corr("pearson")
In [7]:
c = c.where(
        np.triu(
            np.ones(c.shape,
                   dtype=np.bool),
                    k=1)
        ).stack().sort_values()
C:\Users\igors\AppData\Local\Temp/ipykernel_14768/1606139679.py:4: DeprecationWarning: `np.bool` is a deprecated alias for the builtin `bool`. To silence this warning, use `bool` by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use `np.bool_` here.
Deprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations
  dtype=np.bool),
In [8]:
c[abs(c)>0.5]
Out[8]:
density               alcohol                -0.760162
total.sulfur.dioxide  density                 0.536868
free.sulfur.dioxide   total.sulfur.dioxide    0.619437
residual.sugar        density                 0.820498
dtype: float64
In [19]:
sns.pairplot(white_wine)
Out[19]:
<seaborn.axisgrid.PairGrid at 0x1f78beb4ac0>
In [9]:
import sklearn.linear_model
mnk = sklearn.linear_model.LinearRegression()
In [10]:
mnk.fit(X, y)
Out[10]:
LinearRegression()
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
LinearRegression()
In [11]:
mnk.intercept_
Out[11]:
680.7090390332934
In [12]:
mnk.coef_
Out[12]:
array([ 5.08985834e-01,  8.91433570e-01,  4.16880125e-01,  2.42749178e-01,
       -3.94341133e-01, -3.33635324e-03,  2.79786508e-04, -6.87861040e+02,
        2.42818063e+00,  1.01964556e+00])
In [32]:
x_nowy = X.to_numpy().mean(axis=0).reshape(1,-1)
In [33]:
mnk.predict(x_nowy)
C:\Users\igors\miniconda3\envs\igorpython\lib\site-packages\sklearn\base.py:450: UserWarning: X does not have valid feature names, but LinearRegression was fitted with feature names
  warnings.warn(
Out[33]:
array([10.58935791])
In [34]:
y_pred = mnk.predict(X)
In [35]:
y_pred[0:4]
Out[35]:
array([ 8.76177537,  9.46286638, 10.70447049,  9.96719912])
In [36]:
x_nowy
Out[36]:
array([[6.83934612e+00, 2.80537743e-01, 3.34332239e-01, 5.91481949e+00,
        4.59050745e-02, 3.48891694e+01, 1.37193512e+02, 9.93789530e-01,
        3.19545822e+00, 4.90350921e-01]])
In [40]:
y_pred.size
Out[40]:
3961
In [41]:
y[0:4]
Out[41]:
1359     8.8
1360     9.5
1361    10.1
1362     9.9
Name: alcohol, dtype: float64
In [42]:
mnk.score(X, y)
Out[42]:
0.8580656118411156
In [43]:
import sklearn.metrics
sklearn.metrics.r2_score(y, y_pred)
sklearn.metrics.mean_squared_error(y,y_pred)
sklearn.metrics.mean_absolute_error(y,y_pred)
Out[43]:
0.3014020196706794
In [44]:
sklearn.metrics.median_absolute_error(y,y_pred)
Out[44]:
0.24887712240292714
In [57]:
from sklearn.model_selection import train_test_split
X_ucz, X_test, y_ucz, y_test = train_test_split(X, y, test_size=0.2, random_state=12345)
X_ucz.shape, X_text.shape, y_ucz.shape, y_test.shape
Out[57]:
((3168, 10), (793, 10), (3168,), (793,))
In [58]:
def fit_regression(X_ucz, X_test, y_ucz, y_test):
    r=sklearn.linear_model.LinearRegression()
    r.fit(X_ucz, y_ucz)
    y_ucz_pred = r.predict(X_ucz)
    y_test_pred = r.predict(X_test)
    mse = sklearn.metrics.mean_squared_error
    return {
        "r_score": r.score(X_ucz, y_ucz),
        "MSE_u": mse(y_ucz, y_ucz_pred),
        "MSE_t": mse(y_test, y_test_pred)
    }
In [63]:
params=["zm. liniowe"]
res = [fit_regression(X_ucz, X_test, y_ucz, y_test)]
pd.DataFrame(res, index=params)
Out[63]:
r_score MSE_u MSE_t
zm. liniowe 0.906772 0.138808 0.54539
In [60]:
import sklearn.preprocessing
p2test = sklearn.preprocessing.PolynomialFeatures(degree=2, include_bias = False)
p2test.fit_transform(np.array([[2,3,5],[1,2,3]]))
Out[60]:
array([[ 2.,  3.,  5.,  4.,  6., 10.,  9., 15., 25.],
       [ 1.,  2.,  3.,  1.,  2.,  3.,  4.,  6.,  9.]])
In [61]:
p2test.powers_.T
Out[61]:
array([[1, 0, 0, 2, 1, 1, 0, 0, 0],
       [0, 1, 0, 0, 1, 0, 2, 1, 0],
       [0, 0, 1, 0, 0, 1, 0, 1, 2]], dtype=int64)
In [64]:
p2 = sklearn.preprocessing.PolynomialFeatures(degree=2,include_bias = False)
X2_ucz = p2.fit_transform(X_ucz)
X2_test = p2.fit_transform(X_test)
params.append("zm. wielom")
res.append(fit_regression(X2_ucz, X2_test, y_ucz, y_test))
pd.DataFrame(res, index=params)
Out[64]:
r_score MSE_u MSE_t
zm. liniowe 0.906772 0.138808 0.54539
zm. wielom 0.923976 0.113192 0.15542
In [65]:
def BIC(mse, p, n):
    return n*np.log(mse) + p*np.log(n)
In [3]:
import pandas as pd
klient_dane = {'id_klienta':[1,2,3,4,5,6,7,8,9,10], 'plec':['k','k','k','k','k','m','m','k','k','k'], 'wiek':[31,32,32,32,46,21,26,21,26,46]}
klient = pd.DataFrame(klient_dane)

produkt_dane = {'id_produktu':[1,2], 'nazwa_produktu':["ekonto","brak"], 'rodzaj produktu':["ek","brak"]}
produkt = pd.DataFrame(produkt_dane)

klient_produkt_dane = {'id_klienta':[1,2,3,4,5,6,7,8,9,10], 'id_produktu':[1,1,1,1,1,2,2,2,1,1], 'data otwarcia':["2020","2020","2020","2020","2020","2020","2020","2020","2020","2020"]}
klient_produkt = pd.DataFrame(klient_produkt_dane)
In [4]:
produkt
Out[4]:
id_produktu nazwa_produktu rodzaj produktu
0 1 ekonto ek
1 2 brak brak
In [13]:
testowe = """SELECT klient.id_klienta FROM klient LIMIT 2"""
In [1]:
import pandasql as ps
In [19]:
ps.sqldf("""select klient.wiek, count(wiek) as ILE_KOBIET_Z_EKONTEM FROM klient_produkt
JOIN klient ON klient.id_klienta=klient_produkt.id_klienta
JOIN produkt ON produkt.id_produktu=klient_produkt.id_produktu
WHERE plec="k" AND upper(nazwa_produktu)="EKONTO" AND wiek in (32, 21, 46, 26)
GROUP BY wiek
ORDER BY count(wiek) DESC

""")
Out[19]:
wiek ILE_KOBIET_Z_EKONTEM
0 32 3
1 46 2
2 26 1
In [75]:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
zad4=pd.read_excel("C://Users//igors//Downloads//Rekrutacja - Specjalista ds. analiz i komunikacji CRM- zadania.xlsx", sheet_name="Zadanie 4")
In [76]:
zad4=zad4.iloc[:,:4]
In [77]:
zad4["średnia"]=zad4["liczba sprzedanych produktów"]/zad4["liczba ofert"]
In [78]:
zad4["średnia"]=round(100*zad4["średnia"],1)
In [93]:
x = zad4.iloc[0:6,1].to_numpy()
x
Out[93]:
array(['2021-01', '2021-02', '2021-03', '2021-04', '2021-05', '2021-06'],
      dtype=object)
In [170]:
data = [zad4[zad4["miesiąc"]==miesiace[0]].iloc[:,4],
zad4[zad4["miesiąc"]==miesiace[1]].iloc[:,4],
zad4[zad4["miesiąc"]==miesiace[2]].iloc[:,4],
zad4[zad4["miesiąc"]==miesiace[3]].iloc[:,4],
zad4[zad4["miesiąc"]==miesiace[4]].iloc[:,4],
zad4[zad4["miesiąc"]==miesiace[5]].iloc[:,4]]

fig = plt.figure()
ax = fig.add_axes([0,0,2,1])
X = np.arange(9)
ax.bar(X - 0.20, data[0], color = 'grey', width = 0.1)
ax.bar(X - 0.10, data[1], color = 'blue', width = 0.1)
ax.bar(X + 0.00, data[2], color = 'lightgreen', width = 0.1)
ax.bar(X + 0.10, data[3], color = 'green', width = 0.1)
ax.bar(X + 0.20, data[4], color = 'yellow', width = 0.1)
ax.bar(X + 0.30, data[5], color = 'orange', width = 0.1)
plt.xticks([0,1,2,3,4,5,6,7,8],zad4["Kampania"].unique())
plt.legend(zad4["miesiąc"].unique())
plt.title("Odsetek sprzedanych produktów względem liczby ofert")
Out[170]:
Text(0.5, 1.0, 'Odsetek sprzedanych produktów względem liczby ofert')
In [128]:
zad4[zad4["miesiąc"]=="2021-01"]
Out[128]:
Kampania miesiąc liczba ofert liczba sprzedanych produktów średnia
0 Kampania_A 2021-01 1200.0 34.0 2.8
6 Kampania_B 2021-01 30000.0 1243.0 4.1
12 Kampania_C 2021-01 21567.0 123.0 0.6
18 Kampania_D 2021-01 32900.0 988.0 3.0
24 Kampania_E 2021-01 41567.0 657.0 1.6
30 Kampania_F 2021-01 10000.0 124.0 1.2
36 Kampania_G 2021-01 688.0 59.0 8.6
42 Kampania_H 2021-01 34567.0 26.0 0.1
48 Kampania_I 2021-01 235.0 20.0 8.5
In [131]:
miesiace = zad4["miesiąc"].unique()
In [172]:
zad4[zad4["miesiąc"]==miesiace[1]].iloc[:,4]
Out[172]:
1      2.8
7      4.3
13     0.8
19     3.2
25     1.6
31     3.8
37     4.0
43     0.1
49    11.0
Name: średnia, dtype: float64
In [149]:
x
Out[149]:
array(['2021-01', '2021-02', '2021-03', '2021-04', '2021-05', '2021-06'],
      dtype=object)
In [173]:
data = [zad4.iloc[:,4].mean(),
zad4[zad4["miesiąc"]==miesiace[1]].iloc[:,4].mean(),
zad4[zad4["miesiąc"]==miesiace[2]].iloc[:,4].mean(),
zad4[zad4["miesiąc"]==miesiace[3]].iloc[:,4].mean(),
zad4[zad4["miesiąc"]==miesiace[4]].iloc[:,4].mean(),
zad4[zad4["miesiąc"]==miesiace[5]].iloc[:,4].mean()]

fig = plt.figure()
ax = fig.add_axes([0,0,2,1])
X = np.arange(9)
ax.bar(X - 0.20, data[0], color = 'grey', width = 0.1)
ax.bar(X - 0.10, data[1], color = 'blue', width = 0.1)
ax.bar(X + 0.00, data[2], color = 'lightgreen', width = 0.1)
ax.bar(X + 0.10, data[3], color = 'green', width = 0.1)
ax.bar(X + 0.20, data[4], color = 'yellow', width = 0.1)
ax.bar(X + 0.30, data[5], color = 'orange', width = 0.1)
plt.xticks([0,1,2,3,4,5,6,7,8],zad4["Kampania"].unique())
plt.legend(zad4["miesiąc"].unique())
plt.title("Odsetek sprzedanych produktów względem liczby ofert")
Out[173]:
Text(0.5, 1.0, 'Odsetek sprzedanych produktów względem liczby ofert')
In [187]:
zad4.groupby(["Kampania"])["liczba ofert","średnia"].agg(np.mean).sort_values(["średnia"])
C:\Users\igors\AppData\Local\Temp/ipykernel_6956/145967440.py:1: FutureWarning: Indexing with multiple keys (implicitly converted to a tuple of keys) will be deprecated, use a list instead.
  zad4.groupby(["Kampania"])["liczba ofert","średnia"].agg(np.mean).sort_values(["średnia"])
Out[187]:
liczba ofert średnia
Kampania
Kampania_H 34800.833333 0.100000
Kampania_C 21752.500000 0.650000
Kampania_E 41049.666667 1.600000
Kampania_F 10000.000000 2.150000
Kampania_A 2125.000000 2.600000
Kampania_D 50409.666667 2.933333
Kampania_B 21423.333333 3.850000
Kampania_G 2266.500000 5.000000
Kampania_I 263.500000 9.950000
In [196]:
zad4.iloc[:,np.r_[0,1,3]][zad4["liczba sprzedanych produktów"]>1000]
Out[196]:
Kampania miesiąc liczba sprzedanych produktów
6 Kampania_B 2021-01 1243.0
19 Kampania_D 2021-02 1245.0
20 Kampania_D 2021-03 1367.0
21 Kampania_D 2021-04 1670.0
22 Kampania_D 2021-05 1678.0
23 Kampania_D 2021-06 1789.0
In [192]:
zad4
Out[192]:
Kampania miesiąc liczba ofert liczba sprzedanych produktów średnia
0 Kampania_A 2021-01 1200.0 34.0 2.8
1 Kampania_A 2021-02 1600.0 45.0 2.8
2 Kampania_A 2021-03 1900.0 50.0 2.6
3 Kampania_A 2021-04 2400.0 59.0 2.5
4 Kampania_A 2021-05 2800.0 70.0 2.5
5 Kampania_A 2021-06 2850.0 69.0 2.4
6 Kampania_B 2021-01 30000.0 1243.0 4.1
7 Kampania_B 2021-02 23000.0 999.0 4.3
8 Kampania_B 2021-03 21000.0 879.0 4.2
9 Kampania_B 2021-04 19870.0 679.0 3.4
10 Kampania_B 2021-05 17890.0 598.0 3.3
11 Kampania_B 2021-06 16780.0 640.0 3.8
12 Kampania_C 2021-01 21567.0 123.0 0.6
13 Kampania_C 2021-02 20567.0 156.0 0.8
14 Kampania_C 2021-03 22314.0 168.0 0.8
15 Kampania_C 2021-04 22045.0 129.0 0.6
16 Kampania_C 2021-05 22143.0 128.0 0.6
17 Kampania_C 2021-06 21879.0 111.0 0.5
18 Kampania_D 2021-01 32900.0 988.0 3.0
19 Kampania_D 2021-02 39000.0 1245.0 3.2
20 Kampania_D 2021-03 45789.0 1367.0 3.0
21 Kampania_D 2021-04 55880.0 1670.0 3.0
22 Kampania_D 2021-05 60999.0 1678.0 2.8
23 Kampania_D 2021-06 67890.0 1789.0 2.6
24 Kampania_E 2021-01 41567.0 657.0 1.6
25 Kampania_E 2021-02 39876.0 630.0 1.6
26 Kampania_E 2021-03 35679.0 568.0 1.6
27 Kampania_E 2021-04 46987.0 789.0 1.7
28 Kampania_E 2021-05 42091.0 653.0 1.6
29 Kampania_E 2021-06 40098.0 599.0 1.5
30 Kampania_F 2021-01 10000.0 124.0 1.2
31 Kampania_F 2021-02 10000.0 380.0 3.8
32 Kampania_F 2021-03 10000.0 56.0 0.6
33 Kampania_F 2021-04 10000.0 87.0 0.9
34 Kampania_F 2021-05 10000.0 67.0 0.7
35 Kampania_F 2021-06 10000.0 567.0 5.7
36 Kampania_G 2021-01 688.0 59.0 8.6
37 Kampania_G 2021-02 1986.0 79.0 4.0
38 Kampania_G 2021-03 2657.0 167.0 6.3
39 Kampania_G 2021-04 3408.0 86.0 2.5
40 Kampania_G 2021-05 3977.0 99.0 2.5
41 Kampania_G 2021-06 883.0 54.0 6.1
42 Kampania_H 2021-01 34567.0 26.0 0.1
43 Kampania_H 2021-02 32145.0 48.0 0.1
44 Kampania_H 2021-03 38902.0 38.0 0.1
45 Kampania_H 2021-04 30175.0 20.0 0.1
46 Kampania_H 2021-05 35671.0 32.0 0.1
47 Kampania_H 2021-06 37345.0 29.0 0.1
48 Kampania_I 2021-01 235.0 20.0 8.5
49 Kampania_I 2021-02 136.0 15.0 11.0
50 Kampania_I 2021-03 334.0 33.0 9.9
51 Kampania_I 2021-04 289.0 29.0 10.0
52 Kampania_I 2021-05 330.0 31.0 9.4
53 Kampania_I 2021-06 257.0 28.0 10.9
In [39]:
transakcje_dane = {'klient':[4,1,3,4,2,1,4],'partner':['BP','Real','Allegro','Orange','BP','Real','Real'],'data':['2017-09-11','2017-09-12','2017-09-13','2017-09-14','2017-09-15','2017-09-16','2017-09-17'], 'kwota':[150,150,100,50,100,150,50]}
In [40]:
transakcje = pd.DataFrame(transakcje_dane)
In [41]:
transakcje
Out[41]:
klient partner data kwota
0 4 BP 2017-09-11 150
1 1 Real 2017-09-12 150
2 3 Allegro 2017-09-13 100
3 4 Orange 2017-09-14 50
4 2 BP 2017-09-15 100
5 1 Real 2017-09-16 150
6 4 Real 2017-09-17 50
In [85]:
ps.sqldf("""SELECT KLIENT, PARTNER, KWOTA from transakcje group by KLIENT order by DATA limit 4


""")
Out[85]:
klient partner kwota
0 4 BP 150
1 1 Real 150
2 3 Allegro 100
3 2 BP 100
In [2]:
import sklearn
from sklearn.datasets import load_breast_cancer
data=load_breast_cancer()

data
Out[2]:
{'data': array([[1.799e+01, 1.038e+01, 1.228e+02, ..., 2.654e-01, 4.601e-01,
         1.189e-01],
        [2.057e+01, 1.777e+01, 1.329e+02, ..., 1.860e-01, 2.750e-01,
         8.902e-02],
        [1.969e+01, 2.125e+01, 1.300e+02, ..., 2.430e-01, 3.613e-01,
         8.758e-02],
        ...,
        [1.660e+01, 2.808e+01, 1.083e+02, ..., 1.418e-01, 2.218e-01,
         7.820e-02],
        [2.060e+01, 2.933e+01, 1.401e+02, ..., 2.650e-01, 4.087e-01,
         1.240e-01],
        [7.760e+00, 2.454e+01, 4.792e+01, ..., 0.000e+00, 2.871e-01,
         7.039e-02]]),
 'target': array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
        0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0,
        1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0,
        1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1,
        1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0,
        0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1,
        1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1,
        1, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0,
        0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0,
        1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1,
        1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
        0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1,
        1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1,
        1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0,
        0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0,
        0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0,
        1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1,
        1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0,
        1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1,
        1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0,
        1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1,
        1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1,
        1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1,
        1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
        1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1]),
 'frame': None,
 'target_names': array(['malignant', 'benign'], dtype='<U9'),
 'DESCR': '.. _breast_cancer_dataset:\n\nBreast cancer wisconsin (diagnostic) dataset\n--------------------------------------------\n\n**Data Set Characteristics:**\n\n    :Number of Instances: 569\n\n    :Number of Attributes: 30 numeric, predictive attributes and the class\n\n    :Attribute Information:\n        - radius (mean of distances from center to points on the perimeter)\n        - texture (standard deviation of gray-scale values)\n        - perimeter\n        - area\n        - smoothness (local variation in radius lengths)\n        - compactness (perimeter^2 / area - 1.0)\n        - concavity (severity of concave portions of the contour)\n        - concave points (number of concave portions of the contour)\n        - symmetry\n        - fractal dimension ("coastline approximation" - 1)\n\n        The mean, standard error, and "worst" or largest (mean of the three\n        worst/largest values) of these features were computed for each image,\n        resulting in 30 features.  For instance, field 0 is Mean Radius, field\n        10 is Radius SE, field 20 is Worst Radius.\n\n        - class:\n                - WDBC-Malignant\n                - WDBC-Benign\n\n    :Summary Statistics:\n\n    ===================================== ====== ======\n                                           Min    Max\n    ===================================== ====== ======\n    radius (mean):                        6.981  28.11\n    texture (mean):                       9.71   39.28\n    perimeter (mean):                     43.79  188.5\n    area (mean):                          143.5  2501.0\n    smoothness (mean):                    0.053  0.163\n    compactness (mean):                   0.019  0.345\n    concavity (mean):                     0.0    0.427\n    concave points (mean):                0.0    0.201\n    symmetry (mean):                      0.106  0.304\n    fractal dimension (mean):             0.05   0.097\n    radius (standard error):              0.112  2.873\n    texture (standard error):             0.36   4.885\n    perimeter (standard error):           0.757  21.98\n    area (standard error):                6.802  542.2\n    smoothness (standard error):          0.002  0.031\n    compactness (standard error):         0.002  0.135\n    concavity (standard error):           0.0    0.396\n    concave points (standard error):      0.0    0.053\n    symmetry (standard error):            0.008  0.079\n    fractal dimension (standard error):   0.001  0.03\n    radius (worst):                       7.93   36.04\n    texture (worst):                      12.02  49.54\n    perimeter (worst):                    50.41  251.2\n    area (worst):                         185.2  4254.0\n    smoothness (worst):                   0.071  0.223\n    compactness (worst):                  0.027  1.058\n    concavity (worst):                    0.0    1.252\n    concave points (worst):               0.0    0.291\n    symmetry (worst):                     0.156  0.664\n    fractal dimension (worst):            0.055  0.208\n    ===================================== ====== ======\n\n    :Missing Attribute Values: None\n\n    :Class Distribution: 212 - Malignant, 357 - Benign\n\n    :Creator:  Dr. William H. Wolberg, W. Nick Street, Olvi L. Mangasarian\n\n    :Donor: Nick Street\n\n    :Date: November, 1995\n\nThis is a copy of UCI ML Breast Cancer Wisconsin (Diagnostic) datasets.\nhttps://goo.gl/U2Uwz2\n\nFeatures are computed from a digitized image of a fine needle\naspirate (FNA) of a breast mass.  They describe\ncharacteristics of the cell nuclei present in the image.\n\nSeparating plane described above was obtained using\nMultisurface Method-Tree (MSM-T) [K. P. Bennett, "Decision Tree\nConstruction Via Linear Programming." Proceedings of the 4th\nMidwest Artificial Intelligence and Cognitive Science Society,\npp. 97-101, 1992], a classification method which uses linear\nprogramming to construct a decision tree.  Relevant features\nwere selected using an exhaustive search in the space of 1-4\nfeatures and 1-3 separating planes.\n\nThe actual linear program used to obtain the separating plane\nin the 3-dimensional space is that described in:\n[K. P. Bennett and O. L. Mangasarian: "Robust Linear\nProgramming Discrimination of Two Linearly Inseparable Sets",\nOptimization Methods and Software 1, 1992, 23-34].\n\nThis database is also available through the UW CS ftp server:\n\nftp ftp.cs.wisc.edu\ncd math-prog/cpo-dataset/machine-learn/WDBC/\n\n.. topic:: References\n\n   - W.N. Street, W.H. Wolberg and O.L. Mangasarian. Nuclear feature extraction \n     for breast tumor diagnosis. IS&T/SPIE 1993 International Symposium on \n     Electronic Imaging: Science and Technology, volume 1905, pages 861-870,\n     San Jose, CA, 1993.\n   - O.L. Mangasarian, W.N. Street and W.H. Wolberg. Breast cancer diagnosis and \n     prognosis via linear programming. Operations Research, 43(4), pages 570-577, \n     July-August 1995.\n   - W.H. Wolberg, W.N. Street, and O.L. Mangasarian. Machine learning techniques\n     to diagnose breast cancer from fine-needle aspirates. Cancer Letters 77 (1994) \n     163-171.',
 'feature_names': array(['mean radius', 'mean texture', 'mean perimeter', 'mean area',
        'mean smoothness', 'mean compactness', 'mean concavity',
        'mean concave points', 'mean symmetry', 'mean fractal dimension',
        'radius error', 'texture error', 'perimeter error', 'area error',
        'smoothness error', 'compactness error', 'concavity error',
        'concave points error', 'symmetry error',
        'fractal dimension error', 'worst radius', 'worst texture',
        'worst perimeter', 'worst area', 'worst smoothness',
        'worst compactness', 'worst concavity', 'worst concave points',
        'worst symmetry', 'worst fractal dimension'], dtype='<U23'),
 'filename': 'breast_cancer.csv',
 'data_module': 'sklearn.datasets.data'}
In [3]:
data.target
Out[3]:
array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
       0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0,
       1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0,
       1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1,
       1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0,
       0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1,
       1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1,
       1, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0,
       0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0,
       1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1,
       1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1,
       1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1,
       1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0,
       0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0,
       0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0,
       1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0,
       1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1,
       1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0,
       1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1,
       1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1,
       1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1,
       1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
       1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1])
In [4]:
import pandas as pd
df = pd.DataFrame(data.data, columns=data.feature_names)
df.head()
Out[4]:
mean radius mean texture mean perimeter mean area mean smoothness mean compactness mean concavity mean concave points mean symmetry mean fractal dimension ... worst radius worst texture worst perimeter worst area worst smoothness worst compactness worst concavity worst concave points worst symmetry worst fractal dimension
0 17.99 10.38 122.80 1001.0 0.11840 0.27760 0.3001 0.14710 0.2419 0.07871 ... 25.38 17.33 184.60 2019.0 0.1622 0.6656 0.7119 0.2654 0.4601 0.11890
1 20.57 17.77 132.90 1326.0 0.08474 0.07864 0.0869 0.07017 0.1812 0.05667 ... 24.99 23.41 158.80 1956.0 0.1238 0.1866 0.2416 0.1860 0.2750 0.08902
2 19.69 21.25 130.00 1203.0 0.10960 0.15990 0.1974 0.12790 0.2069 0.05999 ... 23.57 25.53 152.50 1709.0 0.1444 0.4245 0.4504 0.2430 0.3613 0.08758
3 11.42 20.38 77.58 386.1 0.14250 0.28390 0.2414 0.10520 0.2597 0.09744 ... 14.91 26.50 98.87 567.7 0.2098 0.8663 0.6869 0.2575 0.6638 0.17300
4 20.29 14.34 135.10 1297.0 0.10030 0.13280 0.1980 0.10430 0.1809 0.05883 ... 22.54 16.67 152.20 1575.0 0.1374 0.2050 0.4000 0.1625 0.2364 0.07678

5 rows × 30 columns

In [5]:
from sklearn.model_selection import train_test_split
X = data.data
Y = data.target
X_tren, X_test, y_tren, y_test = train_test_split(X, Y, test_size=0.25)
In [7]:
from sklearn.neighbors import KNeighborsClassifier
knn=KNeighborsClassifier(n_neighbors=3)

knn.fit(X_tren, y_tren)
Out[7]:
KNeighborsClassifier(n_neighbors=3)
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
KNeighborsClassifier(n_neighbors=3)
In [11]:
prognoza_tren=knn.predict(X_tren)
prognoza_tren
Out[11]:
array([1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0,
       1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1,
       1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 0,
       1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1,
       0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1,
       1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1,
       1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0,
       0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1,
       1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1,
       1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0,
       0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0,
       1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0,
       1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1,
       1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1,
       1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1,
       0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
       1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1,
       1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0,
       0, 1, 1, 1, 0, 0, 1, 0])
In [21]:
X_test.size
Out[21]:
4290
In [24]:
prognoza_test=knn.predict(X_test)

#macierz błędów klasyfikacji
from sklearn.metrics import confusion_matrix
confusion_matrix(y_test, prognoza_test)
Out[24]:
array([[53,  5],
       [ 5, 80]], dtype=int64)
In [25]:
#inne miary oceny jakosci klasyfikacji
from sklearn.metrics import accuracy_score, f1_score
accuracy_score(y_test, prognoza_test)
Out[25]:
0.9300699300699301
In [26]:
f1_score(y_test, prognoza_test)
Out[26]:
0.9411764705882353
In [27]:
#dla porównania na zbiorze uczącym
accuracy_score(y_tren, prognoza_tren)
Out[27]:
0.9553990610328639
In [29]:
#pełny raport
from sklearn.metrics import classification_report
print(classification_report(y_test, prognoza_test))
              precision    recall  f1-score   support

           0       0.91      0.91      0.91        58
           1       0.94      0.94      0.94        85

    accuracy                           0.93       143
   macro avg       0.93      0.93      0.93       143
weighted avg       0.93      0.93      0.93       143

In [33]:
 #budujemy model dla liniowej analizy dyskryminacyjnej
from sklearn.discriminant_analysis import LinearDiscriminantAnalysis
lda=LinearDiscriminantAnalysis()
lda.fit(X_tren, y_tren)
prognoza_test2=knn.predict(X_test)
accuracy_score(y_test, prognoza_test2)
Out[33]:
0.9300699300699301
In [31]:
#prosty klasyfikator Bayesa
from sklearn.naive_bayes import GaussianNB
bayes=GaussianNB()
bayes.fit(X_tren,y_tren)
prognoza_test3=bayes.predict(X_test)
accuracy_score(y_test, prognoza_test3)
Out[31]:
0.9020979020979021
In [34]:
 #regresja logistyczna
from sklearn.linear_model import LogisticRegression
logistic=LogisticRegression()
logistic.fit(X_tren,y_tren)
prognoza_test4=logistic.predict(X_test)
accuracy_score(y_test, prognoza_test4)
C:\Users\igors\miniconda3\envs\igorpython\lib\site-packages\sklearn\linear_model\_logistic.py:444: ConvergenceWarning: lbfgs failed to converge (status=1):
STOP: TOTAL NO. of ITERATIONS REACHED LIMIT.

Increase the number of iterations (max_iter) or scale the data as shown in:
    https://scikit-learn.org/stable/modules/preprocessing.html
Please also refer to the documentation for alternative solver options:
    https://scikit-learn.org/stable/modules/linear_model.html#logistic-regression
  n_iter_i = _check_optimize_result(
Out[34]:
0.951048951048951
In [36]:
 #podsumowanie
metody=["kNN","LDA","NB","LogisticR"]
zbiory_wynikow=[prognoza_test, prognoza_test2,prognoza_test3,prognoza_test4]
for metoda, wyniki in zip(metody, zbiory_wynikow):
    print(metoda, accuracy_score(y_test, wyniki))
kNN 0.9300699300699301
LDA 0.9300699300699301
NB 0.9020979020979021
LogisticR 0.951048951048951
In [37]:
#inny, znany nam zbiór
from sklearn.datasets import load_iris
data2 = load_iris(as_frame=True)
df2=pd.DataFrame(data2.data)
df2.head()
#data2.target
#data2.target_names
Out[37]:
sepal length (cm) sepal width (cm) petal length (cm) petal width (cm)
0 5.1 3.5 1.4 0.2
1 4.9 3.0 1.4 0.2
2 4.7 3.2 1.3 0.2
3 4.6 3.1 1.5 0.2
4 5.0 3.6 1.4 0.2
In [45]:
# Zaczynamy od załadowania bibliotek. Te najpopularniejsze to
# pandas - do pracy z danymi
# matplotlib - do rysowania wykresow
# sklearn - zawierający gotowe funkcje modelujące dane
 
import pandas as pd
import matplotlib.pyplot as plt
%matplotlib inline
from mpl_toolkits.mplot3d import Axes3D
from sklearn.decomposition import PCA
 
# tutaj ładujemy dane do obiektu data frame z biblioteki pandas
# plik CSV nie posiada nagłówka dlatego header=None
# kolumnom nadajemy nazwy korzystając z parametru names
# W skryptach ML dane trzeba skądś pobrać, stad znajomość polecenia 
# read_csv jest super przydatna
 
iris = pd.read_csv(r"C:\Users\igors\Downloads\iris\iris.data",
                   header = None, 
                   names = ['petal length', 'petal width', 
                            'sepal length', 'sepal width', 'species'])
In [46]:
iris
Out[46]:
petal length petal width sepal length sepal width species
0 5.1 3.5 1.4 0.2 Iris-setosa
1 4.9 3.0 1.4 0.2 Iris-setosa
2 4.7 3.2 1.3 0.2 Iris-setosa
3 4.6 3.1 1.5 0.2 Iris-setosa
4 5.0 3.6 1.4 0.2 Iris-setosa
... ... ... ... ... ...
145 6.7 3.0 5.2 2.3 Iris-virginica
146 6.3 2.5 5.0 1.9 Iris-virginica
147 6.5 3.0 5.2 2.0 Iris-virginica
148 6.2 3.4 5.4 2.3 Iris-virginica
149 5.9 3.0 5.1 1.8 Iris-virginica

150 rows × 5 columns

In [47]:
# można sprawdzic rozmiar wczytanego zbioru
# jeśli obiekt ma więcej wymiarów, to można niezależnie sprawdzać każdy z nich
# W skryptach ML, często trzeba zainicjować rozmiary innych obiektów zależnie od
# rozmiaru danych wejściowych. Robi się to korzystając własnie z właściwości shape
iris.shape
Out[47]:
5
In [58]:
# dalej przygotowujemy wykres - tutaj wyznaczenie wartości min i max dla 
# 2 wybranych kolumn z rozmiarami kwiatów. Kiedy chcesz się odwołać do całej kolumny w data frame,
# to w nawiasie kwadratowym podajesz nazwę tej kolumny
x_min, x_max = iris['petal length'].min() - .5, iris['petal length'].max() + .5
y_min, y_max = iris['petal width'].min() - .5, iris['petal width'].max() + .5
 
# każdy gatunek ma być wyświetlony w innym kolorze - definiujemy słownik
colors = {'Iris-setosa':'red', 'Iris-versicolor':'blue', 'Iris-virginica':'green'}
 
# tworzymy obiekt odpowiedzialny za rysowany wykres i jego współrzędne
# instrukcje odtąd aż do plt.show() uruchom zaznaczając cały ten blok kodu
fig, ax = plt.subplots(figsize=(8, 6))
 
# grupujemy dane ze względu na gatunek i rysujemy dane. Korzystamy tu z metody groupby obiektu data frame
# funkcja zwraca klucz identyfikujący nazwę grupy (tutaj jest to nazwa gatunku kwiatu) oraz
# próbki wchodzące w skład tej grupy. To pozwala rysować każdą grupę w innym kolorze
for key, group in iris.groupby(by='species'):
    plt.scatter(group['petal length'], group['petal width'], 
                c=colors[key], label=key)

#dodajemy legendę i opis osi
ax.legend()
plt.xlabel('petal length')
plt.ylabel('petal width')
plt.xlim(x_min, x_max)
plt.ylim(y_min, y_max)
ax.set_title("IRIS DATASET CATEGORIZED")
 
plt.show()
 
# teraz podobny wykres można sporządzić dla sepal
# pamiętaj o uruchomieniu mając zaznaczony blok kodu odtąd aż do plt.show()
# kroki są takie same jak w poprzednim przykładzie
x_min, x_max = iris['sepal length'].min() - .5, iris['sepal length'].max() + .5
y_min, y_max = iris['sepal width'].min() - .5, iris['sepal width'].max() + .5
 
colors = {'Iris-setosa':'red', 'Iris-versicolor':'blue', 'Iris-virginica':'green'}
 
fig, ax = plt.subplots(figsize=(8, 6))
 
for key, group in iris.groupby(by='species'):
    # funkcja scatter przyjmuje argumenty - współrzędne X punktów, współrzędne Y punktów,
    # kolor i nazwę rysowanej grupy
    plt.scatter(group['sepal length'], group['sepal width'], 
                c=colors[key], label=key)
 
ax.legend()
plt.xlabel('sepal length')
plt.ylabel('sepal width')
plt.xlim(x_min, x_max)
plt.ylim(y_min, y_max)
ax.set_title("IRIS DATASET CATEGORIZED")
 
plt.show()
In [65]:
# utwórz wykres składający się z 4 małych wykresów
fig, ax = plt.subplots(2,2,figsize=(10, 6))
 
# aktualnie rysowanie odbędzie się w określonym pod-wykresie
plt_position = 1
 
# obrazujemy zależność miedzy tą zmienną, a pozostałymi cechami próbek
feature_x= 'petal width'
 
# dla każdej cechy opisującej kwiaty
for feature_y in iris.columns[:4]:
 
    # wybierz kolejny pod wykres
    plt.subplot(2, 2, plt_position) 
 
    # i rysuj osobne wykresy dla każdego gatunku (te 3 rysowane tu wykresy
    # nakładają sie na siebie, co pozwala automatycznie generować legendę)
    for species, color in colors.items():
        # podczas rysowanie należy odfiltrować tylko kwiaty jednego gatunku
        # zobacz jak filtrować dane. Służy do tego funkcja loc wywoływana dla data frame
        # wyrażenie w nawiasie kwadratowym ma zwracać True/False. Zwrócone będą wiersze,
        # gdzie wyrażenie ma wartość True. Po przecinku znajduje się nazwa kolumny, która ma być zwrócona
        plt.scatter(iris.loc[iris['species']==species, feature_x],
                    iris.loc[iris['species']==species, feature_y],
                    label=species,
                    alpha = 0.45, # transparency
                    color=color)
 
    # opisujemy wykres
    plt.xlabel(feature_x)
    plt.ylabel(feature_y)
    plt.legend()
    plt_position += 1
 
plt.show()
In [68]:
# Zamiast analizować każdą parę niezależnie można generować tzw. scatter matrix,
# czyli gotową macierz z wykresami dla każdej pary właściwości
# tutaj wykorzystujemy funkcję scatter_matrix zaimplementowaną w pandas...
# Do wyznaczenia koloru skorzystaliśmy z funkcji apply. Pozwala ona wywołać prostą funkcję na rzecz
# każdego wiersza z data frame lub serii danych
pd.plotting.scatter_matrix(iris, figsize=(8, 8), 
                           color = iris['species'].apply(lambda x: colors[x]));
plt.show()
 
# ... a tutaj podobny wykres generowany przez funkcję pairplot z modułu seaborn
import seaborn as sns
sns.set()
sns.pairplot(iris, hue="species")
Out[68]:
<seaborn.axisgrid.PairGrid at 0x1a9cf5d2220>
In [2]:
import pandas as pd
tab1=pd.read_excel("C://Users//igors//Downloads//Dane_do_zadania_wysylka_walentynkowa.xlsx","Historia Kontaktu")
tab2=pd.read_excel("C://Users//igors//Downloads//Dane_do_zadania_wysylka_walentynkowa.xlsx","Tabela Transakcji")
tab2
Out[2]:
id_klienta data_zakupu kwota_zakupu
0 58 2018-01-02 142.96
1 151 2018-01-02 146.75
2 501 2018-01-02 156.84
3 1134 2018-01-02 60.31
4 2848 2018-01-02 146.58
... ... ... ...
1995 6395 2018-03-28 83.65
1996 8300 2018-03-28 14.83
1997 8347 2018-03-28 96.57
1998 8517 2018-03-28 12.32
1999 9464 2018-03-28 62.78

2000 rows × 3 columns

In [46]:
import pandasql as ps
tab_full=ps.sqldf("""SELECT tab1.id_klienta, grupa, kwota_zakupu from tab1 left join tab2 on tab1.id_klienta=tab2.id_klienta

""")
In [47]:
tab_full
Out[47]:
id_klienta grupa kwota_zakupu
0 1 Sent NaN
1 2 Sent NaN
2 3 Sent 123.37
3 5 Sent NaN
4 6 Control NaN
... ... ... ...
1058 9973 Control 54.36
1059 9973 Control 141.19
1060 9974 Control 143.44
1061 9983 Sent 158.89
1062 9995 Sent 26.98

1063 rows × 3 columns

In [15]:
tab_full.grupa.value_counts()
Out[15]:
Sent       754
Control    309
Name: grupa, dtype: int64
In [27]:
tab_full["kwota_zakupu"].groupby(tab_full["grupa"]).agg([np.min, np.max, np.mean])
Out[27]:
amin amax mean
grupa
Control 10.68 159.09 83.776074
Sent 10.18 159.36 87.434321
In [29]:
import numpy as np
import matplotlib.pyplot as plt
In [128]:
tab_full.hist(column="kwota_zakupu", by="grupa",facecolor="0.6", sharex=True)
plt.show()
In [49]:
tab2
Out[49]:
id_klienta data_zakupu kwota_zakupu
0 58 2018-01-02 142.96
1 151 2018-01-02 146.75
2 501 2018-01-02 156.84
3 1134 2018-01-02 60.31
4 2848 2018-01-02 146.58
... ... ... ...
1995 6395 2018-03-28 83.65
1996 8300 2018-03-28 14.83
1997 8347 2018-03-28 96.57
1998 8517 2018-03-28 12.32
1999 9464 2018-03-28 62.78

2000 rows × 3 columns

In [33]:
x = np.linspace(tab2["data_zakupu"])
y = kwota_zakupu
plt.show(x,y)
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
~\AppData\Local\Temp/ipykernel_12328/3871483246.py in <module>
----> 1 x = np.linspace(tab2["data_zakupu"])
      2 y = kwota_zakupu
      3 plt.show(x,y)

<__array_function__ internals> in linspace(*args, **kwargs)

TypeError: _linspace_dispatcher() missing 1 required positional argument: 'stop'
In [44]:
sumy=tab2["kwota_zakupu"].groupby(tab2["data_zakupu"]).agg(np.sum)
In [65]:
plt.plot(sumy.index, sumy)
Out[65]:
[<matplotlib.lines.Line2D at 0x2b70c3a3fd0>]
In [66]:
sumy_mies = tab2["kwota_zakupu"].groupby(tab2["data_zakupu"]).agg(np.sum)
Out[66]:
data_zakupu
2018-01-02    2632.90
2018-01-03    2013.21
2018-01-04    2605.06
2018-01-05    2617.95
2018-01-06    2596.51
               ...   
2018-03-24    1538.45
2018-03-25    2573.81
2018-03-26    1509.03
2018-03-27    3040.92
2018-03-28    1424.14
Name: kwota_zakupu, Length: 85, dtype: float64
In [71]:
sumy_mies=tab2.groupby(tab2.data_zakupu.dt.month)["kwota_zakupu"].sum()
In [73]:
mies = np.r_[1,2,3]
In [125]:
plt.bar(mies, sumy_mies, color=(0,0,0.5))
plt.xticks(mies,["Styczeń","Luty","Marzec"])
plt.title("Suma sprzedaży dla danych miesięcy")
i=0
for m in sumy_mies:
    plt.text(0.82+i, m-4000, round(m), color="white")
    i=i+1
In [129]:
help(pd.Grouper)
Help on class Grouper in module pandas.core.groupby.grouper:

class Grouper(builtins.object)
 |  Grouper(*args, **kwargs)
 |  
 |  A Grouper allows the user to specify a groupby instruction for an object.
 |  
 |  This specification will select a column via the key parameter, or if the
 |  level and/or axis parameters are given, a level of the index of the target
 |  object.
 |  
 |  If `axis` and/or `level` are passed as keywords to both `Grouper` and
 |  `groupby`, the values passed to `Grouper` take precedence.
 |  
 |  Parameters
 |  ----------
 |  key : str, defaults to None
 |      Groupby key, which selects the grouping column of the target.
 |  level : name/number, defaults to None
 |      The level for the target index.
 |  freq : str / frequency object, defaults to None
 |      This will groupby the specified frequency if the target selection
 |      (via key or level) is a datetime-like object. For full specification
 |      of available frequencies, please see `here
 |      <https://pandas.pydata.org/pandas-docs/stable/user_guide/timeseries.html#offset-aliases>`_.
 |  axis : str, int, defaults to 0
 |      Number/name of the axis.
 |  sort : bool, default to False
 |      Whether to sort the resulting labels.
 |  closed : {'left' or 'right'}
 |      Closed end of interval. Only when `freq` parameter is passed.
 |  label : {'left' or 'right'}
 |      Interval boundary to use for labeling.
 |      Only when `freq` parameter is passed.
 |  convention : {'start', 'end', 'e', 's'}
 |      If grouper is PeriodIndex and `freq` parameter is passed.
 |  base : int, default 0
 |      Only when `freq` parameter is passed.
 |      For frequencies that evenly subdivide 1 day, the "origin" of the
 |      aggregated intervals. For example, for '5min' frequency, base could
 |      range from 0 through 4. Defaults to 0.
 |  
 |      .. deprecated:: 1.1.0
 |          The new arguments that you should use are 'offset' or 'origin'.
 |  
 |  loffset : str, DateOffset, timedelta object
 |      Only when `freq` parameter is passed.
 |  
 |      .. deprecated:: 1.1.0
 |          loffset is only working for ``.resample(...)`` and not for
 |          Grouper (:issue:`28302`).
 |          However, loffset is also deprecated for ``.resample(...)``
 |          See: :class:`DataFrame.resample`
 |  
 |  origin : Timestamp or str, default 'start_day'
 |      The timestamp on which to adjust the grouping. The timezone of origin must
 |      match the timezone of the index.
 |      If string, must be one of the following:
 |  
 |      - 'epoch': `origin` is 1970-01-01
 |      - 'start': `origin` is the first value of the timeseries
 |      - 'start_day': `origin` is the first day at midnight of the timeseries
 |  
 |      .. versionadded:: 1.1.0
 |  
 |      - 'end': `origin` is the last value of the timeseries
 |      - 'end_day': `origin` is the ceiling midnight of the last day
 |  
 |      .. versionadded:: 1.3.0
 |  
 |  offset : Timedelta or str, default is None
 |      An offset timedelta added to the origin.
 |  
 |      .. versionadded:: 1.1.0
 |  
 |  dropna : bool, default True
 |      If True, and if group keys contain NA values, NA values together with
 |      row/column will be dropped. If False, NA values will also be treated as
 |      the key in groups.
 |  
 |      .. versionadded:: 1.2.0
 |  
 |  Returns
 |  -------
 |  A specification for a groupby instruction
 |  
 |  Examples
 |  --------
 |  Syntactic sugar for ``df.groupby('A')``
 |  
 |  >>> df = pd.DataFrame(
 |  ...     {
 |  ...         "Animal": ["Falcon", "Parrot", "Falcon", "Falcon", "Parrot"],
 |  ...         "Speed": [100, 5, 200, 300, 15],
 |  ...     }
 |  ... )
 |  >>> df
 |     Animal  Speed
 |  0  Falcon    100
 |  1  Parrot      5
 |  2  Falcon    200
 |  3  Falcon    300
 |  4  Parrot     15
 |  >>> df.groupby(pd.Grouper(key="Animal")).mean()
 |          Speed
 |  Animal
 |  Falcon  200.0
 |  Parrot   10.0
 |  
 |  Specify a resample operation on the column 'Publish date'
 |  
 |  >>> df = pd.DataFrame(
 |  ...    {
 |  ...        "Publish date": [
 |  ...             pd.Timestamp("2000-01-02"),
 |  ...             pd.Timestamp("2000-01-02"),
 |  ...             pd.Timestamp("2000-01-09"),
 |  ...             pd.Timestamp("2000-01-16")
 |  ...         ],
 |  ...         "ID": [0, 1, 2, 3],
 |  ...         "Price": [10, 20, 30, 40]
 |  ...     }
 |  ... )
 |  >>> df
 |    Publish date  ID  Price
 |  0   2000-01-02   0     10
 |  1   2000-01-02   1     20
 |  2   2000-01-09   2     30
 |  3   2000-01-16   3     40
 |  >>> df.groupby(pd.Grouper(key="Publish date", freq="1W")).mean()
 |                 ID  Price
 |  Publish date
 |  2000-01-02    0.5   15.0
 |  2000-01-09    2.0   30.0
 |  2000-01-16    3.0   40.0
 |  
 |  If you want to adjust the start of the bins based on a fixed timestamp:
 |  
 |  >>> start, end = '2000-10-01 23:30:00', '2000-10-02 00:30:00'
 |  >>> rng = pd.date_range(start, end, freq='7min')
 |  >>> ts = pd.Series(np.arange(len(rng)) * 3, index=rng)
 |  >>> ts
 |  2000-10-01 23:30:00     0
 |  2000-10-01 23:37:00     3
 |  2000-10-01 23:44:00     6
 |  2000-10-01 23:51:00     9
 |  2000-10-01 23:58:00    12
 |  2000-10-02 00:05:00    15
 |  2000-10-02 00:12:00    18
 |  2000-10-02 00:19:00    21
 |  2000-10-02 00:26:00    24
 |  Freq: 7T, dtype: int64
 |  
 |  >>> ts.groupby(pd.Grouper(freq='17min')).sum()
 |  2000-10-01 23:14:00     0
 |  2000-10-01 23:31:00     9
 |  2000-10-01 23:48:00    21
 |  2000-10-02 00:05:00    54
 |  2000-10-02 00:22:00    24
 |  Freq: 17T, dtype: int64
 |  
 |  >>> ts.groupby(pd.Grouper(freq='17min', origin='epoch')).sum()
 |  2000-10-01 23:18:00     0
 |  2000-10-01 23:35:00    18
 |  2000-10-01 23:52:00    27
 |  2000-10-02 00:09:00    39
 |  2000-10-02 00:26:00    24
 |  Freq: 17T, dtype: int64
 |  
 |  >>> ts.groupby(pd.Grouper(freq='17min', origin='2000-01-01')).sum()
 |  2000-10-01 23:24:00     3
 |  2000-10-01 23:41:00    15
 |  2000-10-01 23:58:00    45
 |  2000-10-02 00:15:00    45
 |  Freq: 17T, dtype: int64
 |  
 |  If you want to adjust the start of the bins with an `offset` Timedelta, the two
 |  following lines are equivalent:
 |  
 |  >>> ts.groupby(pd.Grouper(freq='17min', origin='start')).sum()
 |  2000-10-01 23:30:00     9
 |  2000-10-01 23:47:00    21
 |  2000-10-02 00:04:00    54
 |  2000-10-02 00:21:00    24
 |  Freq: 17T, dtype: int64
 |  
 |  >>> ts.groupby(pd.Grouper(freq='17min', offset='23h30min')).sum()
 |  2000-10-01 23:30:00     9
 |  2000-10-01 23:47:00    21
 |  2000-10-02 00:04:00    54
 |  2000-10-02 00:21:00    24
 |  Freq: 17T, dtype: int64
 |  
 |  To replace the use of the deprecated `base` argument, you can now use `offset`,
 |  in this example it is equivalent to have `base=2`:
 |  
 |  >>> ts.groupby(pd.Grouper(freq='17min', offset='2min')).sum()
 |  2000-10-01 23:16:00     0
 |  2000-10-01 23:33:00     9
 |  2000-10-01 23:50:00    36
 |  2000-10-02 00:07:00    39
 |  2000-10-02 00:24:00    24
 |  Freq: 17T, dtype: int64
 |  
 |  Methods defined here:
 |  
 |  __init__(self, key=None, level=None, freq=None, axis: 'int' = 0, sort: 'bool' = False, dropna: 'bool' = True)
 |      Initialize self.  See help(type(self)) for accurate signature.
 |  
 |  __repr__(self) -> 'str'
 |      Return repr(self).
 |  
 |  ----------------------------------------------------------------------
 |  Static methods defined here:
 |  
 |  __new__(cls, *args, **kwargs)
 |      Create and return a new object.  See help(type) for accurate signature.
 |  
 |  ----------------------------------------------------------------------
 |  Readonly properties defined here:
 |  
 |  ax
 |  
 |  groups
 |  
 |  ----------------------------------------------------------------------
 |  Data descriptors defined here:
 |  
 |  __dict__
 |      dictionary for instance variables (if defined)
 |  
 |  __weakref__
 |      list of weak references to the object (if defined)
 |  
 |  ----------------------------------------------------------------------
 |  Data and other attributes defined here:
 |  
 |  __annotations__ = {'_attributes': 'tuple[str, ...]', '_gpr_index': 'In...

In [132]:
sumy_tyg=tab2.groupby(pd.Grouper(key="data_zakupu", freq="SM"))["kwota_zakupu"].sum()
In [151]:
plt.bar([1,2,3,4,5,6], sumy_tyg, color=(0.1,0.2,0.5))
plt.xticks([1,2,3,4,5,6],["1-14.01","15-31.01","01-14.02","15-28.02","01-14.03","15-31.03"],rotation=15)
plt.title("Suma sprzedaży dla danych miesięcy")
i=0
for m in sumy_tyg:
    plt.text(0.67+i, m-4000, round(m), color="white")
    i=i+1
In [140]:
plt.bar([1,2,3,4,5,6], sumy_tyg, color=(0.1,0.2,0.5))
plt.xticks([1,2,3,4,5,6],["1-14.01","15-31.01","01-14.02","15-28.02","01-14.03","15-31.03"],rotation=15)
plt.title("Suma sprzedaży dla danych miesięcy")
i=0
for m in sumy_tyg:
    plt.text(0.67+i, m-4000, round(m), color="white")
    i=i+1
Out[140]:
data_zakupu
2017-12-31    29741.83
2018-01-15    30607.34
2018-01-31    29465.56
2018-02-15    24595.88
2018-02-28    30551.89
2018-03-15    27182.94
Freq: SM-15, Name: kwota_zakupu, dtype: float64
In [14]:
tab_full_sent=ps.sqldf("""SELECT tab2.id_klienta, grupa, kwota_zakupu, data_zakupu from tab2 left join tab1 on tab1.id_klienta=tab2.id_klienta
where grupa="Sent"
""")
In [ ]:
 
In [ ]:
 
In [21]:
plt.bar([1,2,3,4,5,6], sumy_tyg, color=(0.1,0.2,0.5))
plt.xticks([1,2,3,4,5,6],["1-14.01","15-31.01","01-14.02","15-28.02","01-14.03","15-31.03"],rotation=15)
plt.title("Suma sprzedaży dla danych miesięcy")
i=0
for m in sumy_tyg:
    plt.text(0.67+i, m-4000, round(m), color="white")
    i=i+1
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
~\AppData\Local\Temp/ipykernel_10524/867989854.py in <module>
----> 1 plt.bar([1,2,3,4,5,6], sumy_tyg, color=(0.1,0.2,0.5))
      2 plt.xticks([1,2,3,4,5,6],["1-14.01","15-31.01","01-14.02","15-28.02","01-14.03","15-31.03"],rotation=15)
      3 plt.title("Suma sprzedaży dla danych miesięcy")
      4 i=0
      5 for m in sumy_tyg:

NameError: name 'plt' is not defined
In [31]:
tab_full_sent["data_zakupu"]=tab_full_sent["data_zakupu"].str[0:10]
In [43]:
 
Out[43]:
id_klienta        int64
grupa            object
kwota_zakupu    float64
data_zakupu      object
dtype: object
In [ ]:
 
In [52]:
tab_full_sent["data_zakupu"]=pd.to_datetime(tab_full_sent["data_zakupu"])
In [53]:
tab_full_sent.dtypes
Out[53]:
id_klienta               int64
grupa                   object
kwota_zakupu           float64
data_zakupu     datetime64[ns]
dtype: object
In [54]:
sumy_tyg_sent=tab_full_sent.groupby(pd.Grouper(key="data_zakupu", freq="SM"))["kwota_zakupu"].sum()
In [62]:
plt.bar([1,2,3,4,5,6], sumy_tyg_sent, color=(0.3,0.4,0.6))
plt.xticks([1,2,3,4,5,6],["1-14.01","15-31.01","01-14.02","15-28.02","01-14.03","15-31.03"],rotation=15)
plt.title("Suma sprzedaży dla danych miesięcy")
i=0
for m in sumy_tyg_sent:
    plt.text(0.71+i, m-4000, round(m), color="white")
    i=i+1
In [1]:
# MACHINE LEARNING Z UDEMY!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

# Zaczynamy od załadowania bibliotek. Te najpopularniejsze to
# pandas - do pracy z danymi
# matplotlib - do rysowania wykresow
# sklearn - zawierający gotowe funkcje modelujące dane
 
import pandas as pd
import matplotlib.pyplot as plt
%matplotlib inline
from mpl_toolkits.mplot3d import Axes3D
from sklearn.decomposition import PCA
 
# tutaj ładujemy dane do obiektu data frame z biblioteki pandas
# plik CSV nie posiada nagłówka dlatego header=None
# kolumnom nadajemy nazwy korzystając z parametru names
# W skryptach ML dane trzeba skądś pobrać, stad znajomość polecenia 
# read_csv jest super przydatna
 
iris = pd.read_csv(r"C:\Users\igors\Downloads\iris\iris.data",
                   header = None, 
                   names = ['petal length', 'petal width', 
                            'sepal length', 'sepal width', 'species'])





# dalej przygotowujemy wykres - tutaj wyznaczenie wartości min i max dla 
# 2 wybranych kolumn z rozmiarami kwiatów. Kiedy chcesz się odwołać do całej kolumny w data frame,
# to w nawiasie kwadratowym podajesz nazwę tej kolumny
x_min, x_max = iris['petal length'].min() - .5, iris['petal length'].max() + .5
y_min, y_max = iris['petal width'].min() - .5, iris['petal width'].max() + .5
 
# każdy gatunek ma być wyświetlony w innym kolorze - definiujemy słownik
colors = {'Iris-setosa':'red', 'Iris-versicolor':'blue', 'Iris-virginica':'green'}
 
# tworzymy obiekt odpowiedzialny za rysowany wykres i jego współrzędne
# instrukcje odtąd aż do plt.show() uruchom zaznaczając cały ten blok kodu
fig, ax = plt.subplots(figsize=(8, 6))
 
# grupujemy dane ze względu na gatunek i rysujemy dane. Korzystamy tu z metody groupby obiektu data frame
# funkcja zwraca klucz identyfikujący nazwę grupy (tutaj jest to nazwa gatunku kwiatu) oraz
# próbki wchodzące w skład tej grupy. To pozwala rysować każdą grupę w innym kolorze
for key, group in iris.groupby(by='species'):
    plt.scatter(group['petal length'], group['petal width'], 
                c=colors[key], label=key)

#dodajemy legendę i opis osi
ax.legend()
plt.xlabel('petal length')
plt.ylabel('petal width')
plt.xlim(x_min, x_max)
plt.ylim(y_min, y_max)
ax.set_title("IRIS DATASET CATEGORIZED")
 
plt.show()
 
# teraz podobny wykres można sporządzić dla sepal
# pamiętaj o uruchomieniu mając zaznaczony blok kodu odtąd aż do plt.show()
# kroki są takie same jak w poprzednim przykładzie
x_min, x_max = iris['sepal length'].min() - .5, iris['sepal length'].max() + .5
y_min, y_max = iris['sepal width'].min() - .5, iris['sepal width'].max() + .5
 
colors = {'Iris-setosa':'red', 'Iris-versicolor':'blue', 'Iris-virginica':'green'}
 
fig, ax = plt.subplots(figsize=(8, 6))
 
for key, group in iris.groupby(by='species'):
    # funkcja scatter przyjmuje argumenty - współrzędne X punktów, współrzędne Y punktów,
    # kolor i nazwę rysowanej grupy
    plt.scatter(group['sepal length'], group['sepal width'], 
                c=colors[key], label=key)
 
ax.legend()
plt.xlabel('sepal length')
plt.ylabel('sepal width')
plt.xlim(x_min, x_max)
plt.ylim(y_min, y_max)
ax.set_title("IRIS DATASET CATEGORIZED")
 
plt.show()
In [2]:
# utwórz wykres składający się z 4 małych wykresów
fig, ax = plt.subplots(2,2,figsize=(10, 6))
 
# aktualnie rysowanie odbędzie się w określonym pod-wykresie
plt_position = 1
 
# obrazujemy zależność miedzy tą zmienną, a pozostałymi cechami próbek
feature_x= 'petal width'
 
# dla każdej cechy opisującej kwiaty
for feature_y in iris.columns[:4]:
 
    # wybierz kolejny pod wykres
    plt.subplot(2, 2, plt_position) 
 
    # i rysuj osobne wykresy dla każdego gatunku (te 3 rysowane tu wykresy
    # nakładają sie na siebie, co pozwala automatycznie generować legendę)
    for species, color in colors.items():
        # podczas rysowanie należy odfiltrować tylko kwiaty jednego gatunku
        # zobacz jak filtrować dane. Służy do tego funkcja loc wywoływana dla data frame
        # wyrażenie w nawiasie kwadratowym ma zwracać True/False. Zwrócone będą wiersze,
        # gdzie wyrażenie ma wartość True. Po przecinku znajduje się nazwa kolumny, która ma być zwrócona
        plt.scatter(iris.loc[iris['species']==species, feature_x],
                    iris.loc[iris['species']==species, feature_y],
                    label=species,
                    alpha = 0.45, # transparency
                    color=color)
 
    # opisujemy wykres
    plt.xlabel(feature_x)
    plt.ylabel(feature_y)
    plt.legend()
    plt_position += 1
 
plt.show()
In [3]:
# Zamiast analizować każdą parę niezależnie można generować tzw. scatter matrix,
# czyli gotową macierz z wykresami dla każdej pary właściwości
# tutaj wykorzystujemy funkcję scatter_matrix zaimplementowaną w pandas...
# Do wyznaczenia koloru skorzystaliśmy z funkcji apply. Pozwala ona wywołać prostą funkcję na rzecz
# każdego wiersza z data frame lub serii danych
pd.plotting.scatter_matrix(iris, figsize=(8, 8), 
                           color = iris['species'].apply(lambda x: colors[x]));
plt.show()
 
# ... a tutaj podobny wykres generowany przez funkcję pairplot z modułu seaborn
import seaborn as sns
sns.set()
sns.pairplot(iris, hue="species")
Out[3]:
<seaborn.axisgrid.PairGrid at 0x2838c36e760>
In [7]:
#ZADANIE
import os.path
import pandas as pd
import matplotlib.pyplot as plt
auto = pd.read_csv(os.path.join(os.getcwd(),"Downloads","auto-mpg","auto-mpg.csv"))

auto
Out[7]:
mpg cylinders displacement horsepower weight acceleration model year origin car name
0 18.0 8 307.0 130 3504 12.0 70 1 chevrolet chevelle malibu
1 15.0 8 350.0 165 3693 11.5 70 1 buick skylark 320
2 18.0 8 318.0 150 3436 11.0 70 1 plymouth satellite
3 16.0 8 304.0 150 3433 12.0 70 1 amc rebel sst
4 17.0 8 302.0 140 3449 10.5 70 1 ford torino
... ... ... ... ... ... ... ... ... ...
393 27.0 4 140.0 86 2790 15.6 82 1 ford mustang gl
394 44.0 4 97.0 52 2130 24.6 82 2 vw pickup
395 32.0 4 135.0 84 2295 11.6 82 1 dodge rampage
396 28.0 4 120.0 79 2625 18.6 82 1 ford ranger
397 31.0 4 119.0 82 2720 19.4 82 1 chevy s-10

398 rows × 9 columns

In [19]:
from sklearn.linear_model import LinearRegression
X=auto.iloc[:,1:-1].drop("horsepower", axis=1)
y=auto.loc[:,"mpg"]

lr = LinearRegression()
lr.fit(X,y)
lr.score(X,y)
Out[19]:
0.8205585866916344
In [20]:
my_car1 = [4, 160, 190, 12, 90, 1]
my_car2 = [4, 200, 260, 15, 83, 1]
 
cars = [my_car1, my_car2]
lr.predict(cars)
C:\Users\igors\miniconda3\envs\igorpython\lib\site-packages\sklearn\base.py:450: UserWarning: X does not have valid feature names, but LinearRegression was fitted with feature names
  warnings.warn(
Out[20]:
array([52.23767295, 47.5274183 ])
In [27]:
# ZADANIE KOLEJNE
import numpy as np
import matplotlib.pyplot as plt
from sklearn.datasets import make_blobs
from sklearn.cluster import KMeans

X, y = make_blobs(n_samples=100, centers=4, cluster_std=0.6, random_state=0)

plt.scatter(X[:,0],X[:,1])
Out[27]:
<matplotlib.collections.PathCollection at 0x28390c96e80>
In [30]:
WCSS = []

for i in range(1,15):
    kmeans = KMeans(n_clusters=i)
    kmeans.fit(X)
    WCSS.append(kmeans.inertia_)
    
plt.plot(range(1,15), WCSS)
plt.xlabel("Liczba clustrów")
plt.ylabel("WCSS")
#plt.grid() #usuwa siatkę
plt.show()
C:\Users\igors\miniconda3\envs\igorpython\lib\site-packages\sklearn\cluster\_kmeans.py:1332: UserWarning: KMeans is known to have a memory leak on Windows with MKL, when there are less chunks than available threads. You can avoid it by setting the environment variable OMP_NUM_THREADS=1.
  warnings.warn(
C:\Users\igors\miniconda3\envs\igorpython\lib\site-packages\sklearn\cluster\_kmeans.py:1332: UserWarning: KMeans is known to have a memory leak on Windows with MKL, when there are less chunks than available threads. You can avoid it by setting the environment variable OMP_NUM_THREADS=1.
  warnings.warn(
C:\Users\igors\miniconda3\envs\igorpython\lib\site-packages\sklearn\cluster\_kmeans.py:1332: UserWarning: KMeans is known to have a memory leak on Windows with MKL, when there are less chunks than available threads. You can avoid it by setting the environment variable OMP_NUM_THREADS=1.
  warnings.warn(
C:\Users\igors\miniconda3\envs\igorpython\lib\site-packages\sklearn\cluster\_kmeans.py:1332: UserWarning: KMeans is known to have a memory leak on Windows with MKL, when there are less chunks than available threads. You can avoid it by setting the environment variable OMP_NUM_THREADS=1.
  warnings.warn(
C:\Users\igors\miniconda3\envs\igorpython\lib\site-packages\sklearn\cluster\_kmeans.py:1332: UserWarning: KMeans is known to have a memory leak on Windows with MKL, when there are less chunks than available threads. You can avoid it by setting the environment variable OMP_NUM_THREADS=1.
  warnings.warn(
C:\Users\igors\miniconda3\envs\igorpython\lib\site-packages\sklearn\cluster\_kmeans.py:1332: UserWarning: KMeans is known to have a memory leak on Windows with MKL, when there are less chunks than available threads. You can avoid it by setting the environment variable OMP_NUM_THREADS=1.
  warnings.warn(
C:\Users\igors\miniconda3\envs\igorpython\lib\site-packages\sklearn\cluster\_kmeans.py:1332: UserWarning: KMeans is known to have a memory leak on Windows with MKL, when there are less chunks than available threads. You can avoid it by setting the environment variable OMP_NUM_THREADS=1.
  warnings.warn(
C:\Users\igors\miniconda3\envs\igorpython\lib\site-packages\sklearn\cluster\_kmeans.py:1332: UserWarning: KMeans is known to have a memory leak on Windows with MKL, when there are less chunks than available threads. You can avoid it by setting the environment variable OMP_NUM_THREADS=1.
  warnings.warn(
C:\Users\igors\miniconda3\envs\igorpython\lib\site-packages\sklearn\cluster\_kmeans.py:1332: UserWarning: KMeans is known to have a memory leak on Windows with MKL, when there are less chunks than available threads. You can avoid it by setting the environment variable OMP_NUM_THREADS=1.
  warnings.warn(
C:\Users\igors\miniconda3\envs\igorpython\lib\site-packages\sklearn\cluster\_kmeans.py:1332: UserWarning: KMeans is known to have a memory leak on Windows with MKL, when there are less chunks than available threads. You can avoid it by setting the environment variable OMP_NUM_THREADS=1.
  warnings.warn(
C:\Users\igors\miniconda3\envs\igorpython\lib\site-packages\sklearn\cluster\_kmeans.py:1332: UserWarning: KMeans is known to have a memory leak on Windows with MKL, when there are less chunks than available threads. You can avoid it by setting the environment variable OMP_NUM_THREADS=1.
  warnings.warn(
C:\Users\igors\miniconda3\envs\igorpython\lib\site-packages\sklearn\cluster\_kmeans.py:1332: UserWarning: KMeans is known to have a memory leak on Windows with MKL, when there are less chunks than available threads. You can avoid it by setting the environment variable OMP_NUM_THREADS=1.
  warnings.warn(
C:\Users\igors\miniconda3\envs\igorpython\lib\site-packages\sklearn\cluster\_kmeans.py:1332: UserWarning: KMeans is known to have a memory leak on Windows with MKL, when there are less chunks than available threads. You can avoid it by setting the environment variable OMP_NUM_THREADS=1.
  warnings.warn(
C:\Users\igors\miniconda3\envs\igorpython\lib\site-packages\sklearn\cluster\_kmeans.py:1332: UserWarning: KMeans is known to have a memory leak on Windows with MKL, when there are less chunks than available threads. You can avoid it by setting the environment variable OMP_NUM_THREADS=1.
  warnings.warn(
In [32]:
kmeans = KMeans(n_clusters=4, max_iter=300, random_state = 1)
clusters = kmeans.fit_predict(X)
labels = kmeans.labels_
centroids = kmeans.cluster_centers_
C:\Users\igors\miniconda3\envs\igorpython\lib\site-packages\sklearn\cluster\_kmeans.py:1332: UserWarning: KMeans is known to have a memory leak on Windows with MKL, when there are less chunks than available threads. You can avoid it by setting the environment variable OMP_NUM_THREADS=1.
  warnings.warn(
In [33]:
h = 0.1
x_min, x_max = X[:,0].min(), X[:,0].max()
y_min, y_max = X[:,1].min(), X[:,1].max()
xx, yy = np.meshgrid(np.arange(x_min, x_max, h), np.arange(y_min, y_max, h))
Z = kmeans.predict(np.c_[xx.ravel(), yy.ravel()]) 
Z = Z.reshape(xx.shape)
In [48]:
plt.figure(1 , figsize = (15 , 7) )
 
plt.imshow(Z , interpolation='nearest', 
           extent=(xx.min(), xx.max(), yy.min(), yy.max()),
           cmap = plt.cm.Pastel1, origin='lower')
 
plt.scatter(x=X[:,0], y=X[:,1], c=labels, s=100)
 
plt.scatter(x=centroids[:,0], y=centroids[:,1],s=300 , c='red')
 
plt.ylabel('x') , plt.xlabel('y')
plt.grid()
plt.title("Clustering")
plt.show()
In [2]:
pip install missingno
Collecting missingnoNote: you may need to restart the kernel to use updated packages.
  Downloading missingno-0.5.1-py3-none-any.whl (8.7 kB)
Requirement already satisfied: matplotlib in c:\users\igors\miniconda3\envs\igorpython\lib\site-packages (from missingno) (3.5.1)
Requirement already satisfied: scipy in c:\users\igors\miniconda3\envs\igorpython\lib\site-packages (from missingno) (1.8.1)
Requirement already satisfied: seaborn in c:\users\igors\miniconda3\envs\igorpython\lib\site-packages (from missingno) (0.11.2)
Requirement already satisfied: numpy in c:\users\igors\miniconda3\envs\igorpython\lib\site-packages (from missingno) (1.21.5)
Requirement already satisfied: fonttools>=4.22.0 in c:\users\igors\miniconda3\envs\igorpython\lib\site-packages (from matplotlib->missingno) (4.25.0)
Requirement already satisfied: kiwisolver>=1.0.1 in c:\users\igors\miniconda3\envs\igorpython\lib\site-packages (from matplotlib->missingno) (1.4.2)
Requirement already satisfied: packaging>=20.0 in c:\users\igors\miniconda3\envs\igorpython\lib\site-packages (from matplotlib->missingno) (21.3)
Requirement already satisfied: pyparsing>=2.2.1 in c:\users\igors\miniconda3\envs\igorpython\lib\site-packages (from matplotlib->missingno) (3.0.4)
Requirement already satisfied: python-dateutil>=2.7 in c:\users\igors\miniconda3\envs\igorpython\lib\site-packages (from matplotlib->missingno) (2.8.2)
Requirement already satisfied: pillow>=6.2.0 in c:\users\igors\miniconda3\envs\igorpython\lib\site-packages (from matplotlib->missingno) (9.0.1)

Requirement already satisfied: cycler>=0.10 in c:\users\igors\miniconda3\envs\igorpython\lib\site-packages (from matplotlib->missingno) (0.11.0)
Requirement already satisfied: six>=1.5 in c:\users\igors\miniconda3\envs\igorpython\lib\site-packages (from python-dateutil>=2.7->matplotlib->missingno) (1.16.0)
Requirement already satisfied: pandas>=0.23 in c:\users\igors\miniconda3\envs\igorpython\lib\site-packages (from seaborn->missingno) (1.4.1)
Requirement already satisfied: pytz>=2020.1 in c:\users\igors\miniconda3\envs\igorpython\lib\site-packages (from pandas>=0.23->seaborn->missingno) (2021.3)
Installing collected packages: missingno
Successfully installed missingno-0.5.1
In [3]:
# KOLEJNE ZADANIE
# Loading common data related modules
import numpy as np
import pandas as pd
import math 
import os
 
# Loading modelling algorithms
from sklearn.linear_model import LinearRegression
from sklearn.linear_model import Lasso
from sklearn.linear_model import Ridge
from sklearn.neighbors    import KNeighborsRegressor
from sklearn.ensemble     import AdaBoostRegressor
from sklearn.ensemble     import RandomForestRegressor
 
# Loading tools
from sklearn.model_selection import train_test_split
from sklearn.preprocessing   import StandardScaler
from sklearn.metrics         import r2_score
 
# Loading visualisation modules
import matplotlib.pyplot as plt
import seaborn as sns
import missingno as msno
 
# Configure visualisations 
%matplotlib inline
 
# Ignore warning messages
import warnings
warnings.filterwarnings('ignore')
 
In [4]:
#-----------------------------------------------------------------------------
# Read data
diamonds = pd.read_csv(os.path.join(os.getcwd(),"Downloads","diamonds","diamonds.csv"))
 
#-----------------------------------------------------------------------------
# Review and clean the data (may be a repetitive task)
# remove unnecessary columns
diamonds.head()
diamonds.drop(['Unnamed: 0'] , axis=1 , inplace=True)
diamonds.head()
 
# review the data and get intuition about it
diamonds.shape
diamonds.info()
 
# find and eliminate nulls
diamonds.isnull().sum()
msno.matrix(diamonds, figsize=(10,4)) # just to visualize. no missing values.
 
# search for illogical values
diamonds.describe()
diamonds.loc[(diamonds['x']==0) | (diamonds['y']==0) | (diamonds['z']==0)]
len(diamonds[(diamonds['x']==0) | (diamonds['y']==0) | (diamonds['z']==0)])
diamonds = diamonds[(diamonds[['x','y','z']] != 0).all(axis=1)]
# always check after execution
diamonds.loc[(diamonds['x']==0) | (diamonds['y']==0) | (diamonds['z']==0)]
 
# Detect dependencies in the data
corr = diamonds.corr()
sns.heatmap(data=corr, square=True , annot=True, cbar=True)
sns.pairplot(diamonds)
#
# check distribution
sns.kdeplot(diamonds['carat'], shade=True , color='r')
plt.hist(diamonds['carat'], bins=25)
#
# check correlation graph
sns.jointplot(x='carat' , y='price' , data=diamonds , size=5)
#
# analyze feature by feature, create hypotesis, try to find evidence
sns.factorplot(x='cut', data=diamonds , kind='count',aspect=1.5)
sns.factorplot(x='cut', y='price', data=diamonds, kind='box' ,aspect=1.5)
#
sns.factorplot(x='color', data=diamonds , kind='count',aspect=1.5)
sns.factorplot(x='color', y='price' , data=diamonds , kind='violin', 
               aspect=1.5)
#
# try to use different visualisation methods
sns.factorplot(x='clarity', data=diamonds , kind='count',aspect=1.5)
sns.factorplot(x='clarity', y='price' , data=diamonds , kind='violin', 
               aspect=1.5)
#
labels = diamonds.clarity.unique().tolist()
sizes = diamonds.clarity.value_counts().tolist()
colors = ['#006400', '#E40E00', '#A00994', '#613205', '#FFED0D', 
          '#16F5A7','#ff9999','#66b3ff']
explode = (0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1)
plt.pie(sizes, explode=explode, labels=labels, colors=colors,
        autopct='%1.1f%%', shadow=True, startangle=0)
plt.axis('equal')
plt.title("Percentage of Clarity Categories")
plt.plot()
fig=plt.gcf()
fig.set_size_inches(6,6)
plt.show()
#
# try to find specific groups/classifications - repetitive process
sns.boxplot(x='clarity', y='price', data=diamonds)
#
plt.hist('depth' , data=diamonds , bins=25)
sns.jointplot(x='depth', y='price', data=diamonds, size=5)
#
sns.kdeplot(diamonds['table'] ,shade=True , color='orange')
sns.jointplot(x='table', y='price', data=diamonds , size=5)
 
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 53940 entries, 0 to 53939
Data columns (total 10 columns):
 #   Column   Non-Null Count  Dtype  
---  ------   --------------  -----  
 0   carat    53940 non-null  float64
 1   cut      53940 non-null  object 
 2   color    53940 non-null  object 
 3   clarity  53940 non-null  object 
 4   depth    53940 non-null  float64
 5   table    53940 non-null  float64
 6   price    53940 non-null  int64  
 7   x        53940 non-null  float64
 8   y        53940 non-null  float64
 9   z        53940 non-null  float64
dtypes: float64(6), int64(1), object(3)
memory usage: 4.1+ MB
Out[4]:
<seaborn.axisgrid.JointGrid at 0x1cdf496f6a0>
In [5]:
#-----------------------------------------------------------------------------
# feature engineering - ananlyzing separately xyz doesn't make sense
sns.kdeplot(diamonds['x'] ,shade=True , color='r' )
sns.kdeplot(diamonds['y'] , shade=True , color='g' )
sns.kdeplot(diamonds['z'] , shade= True , color='b')
plt.xlim(2,10)
diamonds['volume'] = diamonds['x']*diamonds['y']*diamonds['z']
diamonds.head()
#
plt.figure(figsize=(5,5))
plt.hist( x=diamonds['volume'] , bins=30 ,color='g')
plt.xlabel('Volume in mm^3')
plt.ylabel('Frequency')
plt.title('Distribution of Diamond\'s Volume')
plt.xlim(0,1000)
plt.ylim(0,50000)
#
sns.jointplot(x='volume', y='price' , data=diamonds, size=5)
#
diamonds.drop(['x','y','z'], axis=1, inplace= True)
diamonds.head()
#
# One hot encoding
diamonds = pd.get_dummies(diamonds, prefix_sep='_', drop_first=True)
diamonds.head()
 
Out[5]:
carat depth table price volume cut_Good cut_Ideal cut_Premium cut_Very Good color_E ... color_H color_I color_J clarity_IF clarity_SI1 clarity_SI2 clarity_VS1 clarity_VS2 clarity_VVS1 clarity_VVS2
0 0.23 61.5 55.0 326 38.202030 0 1 0 0 1 ... 0 0 0 0 0 1 0 0 0 0
1 0.21 59.8 61.0 326 34.505856 0 0 1 0 1 ... 0 0 0 0 1 0 0 0 0 0
2 0.23 56.9 65.0 327 38.076885 1 0 0 0 1 ... 0 0 0 0 0 0 1 0 0 0
3 0.29 62.4 58.0 334 46.724580 0 0 1 0 0 ... 0 1 0 0 0 0 0 1 0 0
4 0.31 63.3 58.0 335 51.917250 1 0 0 0 0 ... 0 0 1 0 0 1 0 0 0 0

5 rows × 22 columns

In [6]:
#-----------------------------------------------------------------------------
# splitting data into features X, and labels y
X = diamonds.drop(['price'], axis=1)
y = diamonds['price']
#
# splitting data into train and test data
X_train, X_test, y_train, y_test = train_test_split(X,y,test_size=0.2, 
                                                    random_state=66)
 
#-----------------------------------------------------------------------------
# scaling values
sc = StandardScaler()
X_train = sc.fit_transform(X_train)
X_test = sc.transform(X_test)
X_train
 
 
#-----------------------------------------------------------------------------
# test different algorithms to get the data predictions 
scores = []
models = ['Linear Regression', 'Lasso Regression', 'AdaBoost Regression', 
          'Ridge Regression', 'RandomForest Regression', 
          'KNeighbours Regression']
 
#-----------------------------------------------------------------------------
# Linear regression
lr = LinearRegression()
lr.fit(X_train , y_train)
y_pred = lr.predict(X_test)
r2 = r2_score(y_test, y_pred)
 
scores.append(r2)
print('Linear Regression R2: {0:.2f}'.format(r2))
 
 
# Lasso
lasso = Lasso(normalize=True)
lasso.fit(X_train , y_train)
y_pred = lasso.predict(X_test)
r2 = r2_score(y_test, y_pred)
 
scores.append(r2)
print('Lasso Regression R2: {0:.2f}'.format(r2))
 
 
# Adaboost classifier
adaboost = AdaBoostRegressor(n_estimators=1000)
adaboost.fit(X_train , y_train)
y_pred = adaboost.predict(X_test)
r2 = r2_score(y_test, y_pred)
 
scores.append(r2)
print('AdaBoost Regression R2: {0:.2f}'.format(r2))
 
# Ridge
ridge = Ridge(normalize=True)
ridge.fit(X_train , y_train)
y_pred = ridge.predict(X_test)
r2 = r2_score(y_test, y_pred)
 
scores.append(r2)
print('Ridge Regression R2: {0:.2f}'.format(r2))
 
 
# Random forest
randomforest = RandomForestRegressor()
randomforest .fit(X_train , y_train)
y_pred = randomforest .predict(X_test)
r2 = r2_score(y_test, y_pred)
 
scores.append(r2)
print('Random Forest R2: {0:.2f}'.format(r2))
 
 
# K-Neighbours
kneighbours = KNeighborsRegressor()
kneighbours.fit(X_train , y_train)
y_pred = kneighbours.predict(X_test)
r2 = r2_score(y_test, y_pred)
 
scores.append(r2)
print('K-Neighbours Regression R2: {0:.2f}'.format(r2))
 
 
#-----------------------------------------------------------------------------
ranking = pd.DataFrame({'Algorithms' : models , 'R2-Scores' : scores})
ranking = ranking.sort_values(by='R2-Scores' ,ascending=False)
ranking
 
sns.barplot(x='R2-Scores' , y='Algorithms' , data=ranking)
Linear Regression R2: 0.92
Lasso Regression R2: 0.86
AdaBoost Regression R2: 0.67
Ridge Regression R2: 0.76
Random Forest R2: 0.98
K-Neighbours Regression R2: 0.95
Out[6]:
<AxesSubplot:xlabel='R2-Scores', ylabel='Algorithms'>
In [22]:
import numpy as np
a = np.arange(20)
a.shape
a[0]
a=a.reshape(2,10)
a[0]
a[0][4]
a=a.reshape(2,5,2)

a[0][4][1]
Out[22]:
9
In [25]:
b=np.arange(0,40,2).reshape(4,5)
b
Out[25]:
array([[ 0,  2,  4,  6,  8],
       [10, 12, 14, 16, 18],
       [20, 22, 24, 26, 28],
       [30, 32, 34, 36, 38]])
In [26]:
a_python_list =  [2**x for x in range(10)]
a_python_list
Out[26]:
[1, 2, 4, 8, 16, 32, 64, 128, 256, 512]
In [28]:
c=np.array(a_python_list)
c
Out[28]:
array([  1,   2,   4,   8,  16,  32,  64, 128, 256, 512])
In [47]:
print("zeros: ",np.zeros(10))
print("ones: ",np.ones(10))
print("empty: ",np.empty(10))
print("lucky: \n",np.full((5,5),13))
print("na diagonali: \n", np.eye(5))
print("random: \n", np.random.random(10))
print("linspace: \n", np.linspace(100,200,5))
zeros:  [0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]
ones:  [1. 1. 1. 1. 1. 1. 1. 1. 1. 1.]
empty:  [1. 1. 1. 1. 1. 1. 1. 1. 1. 1.]
lucky: 
 [[13 13 13 13 13]
 [13 13 13 13 13]
 [13 13 13 13 13]
 [13 13 13 13 13]
 [13 13 13 13 13]]
na diagonali: 
 [[1. 0. 0. 0. 0.]
 [0. 1. 0. 0. 0.]
 [0. 0. 1. 0. 0.]
 [0. 0. 0. 1. 0.]
 [0. 0. 0. 0. 1.]]
random: 
 [0.73441699 0.42617961 0.96343171 0.32520493 0.36189128 0.55651715
 0.16301006 0.84067554 0.49265016 0.246515  ]
linspace: 
 [100. 125. 150. 175. 200.]
In [8]:
#KOLEJNE ZADANIE

import numpy as np
arr = np.array(np.arange(5,30))
In [16]:
arr
Out[16]:
array([ 5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
       22, 23, 24, 25, 26, 27, 28, 29])
In [14]:
boolArr = arr<10
In [15]:
boolArr
Out[15]:
array([ True,  True,  True,  True,  True, False, False, False, False,
       False, False, False, False, False, False, False, False, False,
       False, False, False, False, False, False, False])
In [17]:
arr[boolArr]
Out[17]:
array([5, 6, 7, 8, 9])
In [19]:
arr[arr<20]
Out[19]:
array([ 5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19])
In [21]:
arr[arr%3==0]
Out[21]:
array([ 6,  9, 12, 15, 18, 21, 24, 27])
In [23]:
arr[(arr>10) & (arr<20)]
Out[23]:
array([11, 12, 13, 14, 15, 16, 17, 18, 19])
In [27]:
macierz_arr=arr.reshape(5,5)
In [28]:
macierz_arr[1]
Out[28]:
array([10, 11, 12, 13, 14])
In [29]:
macierz_arr[1][2]
Out[29]:
12
In [31]:
macierz_arr[1][2:4]
Out[31]:
array([12, 13])
In [33]:
macierz_arr[1,0:]
Out[33]:
array([10, 11, 12, 13, 14])
In [35]:
macierz_arr[:,2]
Out[35]:
array([ 7, 12, 17, 22, 27])
In [36]:
macierz_arr[0:3,2]
Out[36]:
array([ 7, 12, 17])
In [38]:
macierz_arr[:3,2:4]
Out[38]:
array([[ 7,  8],
       [12, 13],
       [17, 18]])
In [39]:
macierz_arr[:,-1]
Out[39]:
array([ 9, 14, 19, 24, 29])
In [40]:
macierz_arr[:,:-1]
Out[40]:
array([[ 5,  6,  7,  8],
       [10, 11, 12, 13],
       [15, 16, 17, 18],
       [20, 21, 22, 23],
       [25, 26, 27, 28]])
In [43]:
arr = np.arange(0,50).reshape(10,5)
arr
Out[43]:
array([[ 0,  1,  2,  3,  4],
       [ 5,  6,  7,  8,  9],
       [10, 11, 12, 13, 14],
       [15, 16, 17, 18, 19],
       [20, 21, 22, 23, 24],
       [25, 26, 27, 28, 29],
       [30, 31, 32, 33, 34],
       [35, 36, 37, 38, 39],
       [40, 41, 42, 43, 44],
       [45, 46, 47, 48, 49]])
In [44]:
split_level = 0.2
num_rows = arr.shape[0]
split_border = split_level * num_rows
In [50]:
np.random.shuffle(arr) #wymieszanie wartości
X_test = arr[:round(split_border),:]
X_train = arr[round(split_border):,:]
In [51]:
X_train
Out[51]:
array([[30, 31, 32, 33, 34],
       [10, 11, 12, 13, 14],
       [25, 26, 27, 28, 29],
       [15, 16, 17, 18, 19],
       [45, 46, 47, 48, 49],
       [ 5,  6,  7,  8,  9],
       [40, 41, 42, 43, 44],
       [20, 21, 22, 23, 24]])
In [58]:
arr2 = np.arange(0,500).reshape(100,5)
split_level = 0.2
num_rows = arr2.shape[0]
split_border=round(split_level*num_rows)

X_test = arr2[:split_border,:-1]
X_train = arr2[split_border:,:-1]
y_test = arr2[:split_border,-1]
y_train = arr2[split_border:,-1]
In [57]:
y_test
Out[57]:
array([ 4,  9, 14, 19, 24, 29, 34, 39, 44, 49, 54, 59, 64, 69, 74, 79, 84,
       89, 94, 99])
In [59]:
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(arr2[:,:-1], arr2[:,-1], test_size=0.2, shuffle=True )
In [60]:
y_test
Out[60]:
array([249,  19, 474, 304, 409, 244, 274, 229, 414,  29, 214, 139, 254,
       384, 269, 444, 454,  14,  94, 419])
In [62]:
# NEXT NEXT ZADANIE
X = np.arange(1,26).reshape(5,5)
X
Out[62]:
array([[ 1,  2,  3,  4,  5],
       [ 6,  7,  8,  9, 10],
       [11, 12, 13, 14, 15],
       [16, 17, 18, 19, 20],
       [21, 22, 23, 24, 25]])
In [72]:
Ones = np.ones(25).reshape(5,5)
Ones
Out[72]:
array([[1., 1., 1., 1., 1.],
       [1., 1., 1., 1., 1.],
       [1., 1., 1., 1., 1.],
       [1., 1., 1., 1., 1.],
       [1., 1., 1., 1., 1.]])
In [77]:
np.dot(X, Ones)
Out[77]:
array([[ 15.,  15.,  15.,  15.,  15.],
       [ 40.,  40.,  40.,  40.,  40.],
       [ 65.,  65.,  65.,  65.,  65.],
       [ 90.,  90.,  90.,  90.,  90.],
       [115., 115., 115., 115., 115.]])
In [76]:
diag = np.zeros(25).reshape(5,5)
np.fill_diagonal(diag,1)
diag
Out[76]:
array([[1., 0., 0., 0., 0.],
       [0., 1., 0., 0., 0.],
       [0., 0., 1., 0., 0.],
       [0., 0., 0., 1., 0.],
       [0., 0., 0., 0., 1.]])
In [79]:
np.dot(X, diag)
Out[79]:
array([[ 1.,  2.,  3.,  4.,  5.],
       [ 6.,  7.,  8.,  9., 10.],
       [11., 12., 13., 14., 15.],
       [16., 17., 18., 19., 20.],
       [21., 22., 23., 24., 25.]])
In [83]:
np.where(X>10, 1, 0)
Out[83]:
array([[0, 0, 0, 0, 0],
       [0, 0, 0, 0, 0],
       [1, 1, 1, 1, 1],
       [1, 1, 1, 1, 1],
       [1, 1, 1, 1, 1]])
In [85]:
np.where(X%2==0,1,0)
Out[85]:
array([[0, 1, 0, 1, 0],
       [1, 0, 1, 0, 1],
       [0, 1, 0, 1, 0],
       [1, 0, 1, 0, 1],
       [0, 1, 0, 1, 0]])
In [87]:
np.where(X%2==0,X,X+1)
Out[87]:
array([[ 2,  2,  4,  4,  6],
       [ 6,  8,  8, 10, 10],
       [12, 12, 14, 14, 16],
       [16, 18, 18, 20, 20],
       [22, 22, 24, 24, 26]])
In [88]:
X_bis = np.where(X>10,2*X,0)
X_bis
Out[88]:
array([[ 0,  0,  0,  0,  0],
       [ 0,  0,  0,  0,  0],
       [22, 24, 26, 28, 30],
       [32, 34, 36, 38, 40],
       [42, 44, 46, 48, 50]])
In [89]:
np.count_nonzero(X_bis)
Out[89]:
15
In [92]:
x = np.array([[10,20,30], [40,50,60]])
y = np.array([[100], [200]])

np.append(x,y,axis=1)
Out[92]:
array([[ 10,  20,  30, 100],
       [ 40,  50,  60, 200]])
In [93]:
x = np.array([[10,20,30], [40,50,60]])
y = np.array([[100, 200, 300]])
print(np.append(x, y, axis=0))
[[ 10  20  30]
 [ 40  50  60]
 [100 200 300]]
In [94]:
x = np.array([[10,20,30], [40,50,60]])
print(np.append(x, x, axis=0))
[[10 20 30]
 [40 50 60]
 [10 20 30]
 [40 50 60]]
In [1]:
# NEXTOWE ZADANIE
import numpy as np
X = np.arange(-25,25).reshape(10,5)
X
Out[1]:
array([[-25, -24, -23, -22, -21],
       [-20, -19, -18, -17, -16],
       [-15, -14, -13, -12, -11],
       [-10,  -9,  -8,  -7,  -6],
       [ -5,  -4,  -3,  -2,  -1],
       [  0,   1,   2,   3,   4],
       [  5,   6,   7,   8,   9],
       [ 10,  11,  12,  13,  14],
       [ 15,  16,  17,  18,  19],
       [ 20,  21,  22,  23,  24]])
In [2]:
ones = np.ones(10).reshape(10,1)
ones
Out[2]:
array([[1.],
       [1.],
       [1.],
       [1.],
       [1.],
       [1.],
       [1.],
       [1.],
       [1.],
       [1.]])
In [3]:
X_1 = np.append(X, ones, axis=1)
X_1
Out[3]:
array([[-25., -24., -23., -22., -21.,   1.],
       [-20., -19., -18., -17., -16.,   1.],
       [-15., -14., -13., -12., -11.,   1.],
       [-10.,  -9.,  -8.,  -7.,  -6.,   1.],
       [ -5.,  -4.,  -3.,  -2.,  -1.,   1.],
       [  0.,   1.,   2.,   3.,   4.,   1.],
       [  5.,   6.,   7.,   8.,   9.,   1.],
       [ 10.,  11.,  12.,  13.,  14.,   1.],
       [ 15.,  16.,  17.,  18.,  19.,   1.],
       [ 20.,  21.,  22.,  23.,  24.,   1.]])
In [4]:
w =  np.random.rand(X_1.shape[1])
w
Out[4]:
array([0.32798675, 0.86786382, 0.28308145, 0.69795993, 0.36987638,
       0.61117309])
In [5]:
def predict(x, w):
    total_stimulation=np.dot(x,w)
    if total_stimulation>0:
        return 1
    else:
        return -1
In [7]:
predict(X_1[0,],w)
Out[7]:
-1
In [11]:
for x in X_1:
    predict(x,w)
    print(predict(x,w))
-1
-1
-1
-1
-1
1
1
1
1
1
In [14]:
# PERCEPTRON - ciąg dalszy poprzedniego
import numpy as np

y = np.array([1, -1, -1, 1, -1, 1, -1, -1, 1, -1])
eta = 0.01

epochs=2

for i in range(epochs):
    for x, y_target in zip(X_1, y):
        y_pred=predict(x,w)
        delta_w = eta * (y_target - y_pred) * x
        w += delta_w
        print(w)
    
[-0.17201325  0.26786382 -0.41691855 -0.10204007 -0.53012362  0.51117309]
[ 0.22798675  0.64786382 -0.05691855  0.23795993 -0.21012362  0.49117309]
[ 0.22798675  0.64786382 -0.05691855  0.23795993 -0.21012362  0.49117309]
[ 0.02798675  0.46786382 -0.21691855  0.09795993 -0.33012362  0.51117309]
[ 0.02798675  0.46786382 -0.21691855  0.09795993 -0.33012362  0.51117309]
[ 0.02798675  0.48786382 -0.17691855  0.15795993 -0.25012362  0.53117309]
[-0.07201325  0.36786382 -0.31691855 -0.00204007 -0.43012362  0.51117309]
[-0.07201325  0.36786382 -0.31691855 -0.00204007 -0.43012362  0.51117309]
[ 0.22798675  0.68786382  0.02308145  0.35795993 -0.05012362  0.53117309]
[-0.17201325  0.26786382 -0.41691855 -0.10204007 -0.53012362  0.51117309]
[-0.17201325  0.26786382 -0.41691855 -0.10204007 -0.53012362  0.51117309]
[ 0.22798675  0.64786382 -0.05691855  0.23795993 -0.21012362  0.49117309]
[ 0.22798675  0.64786382 -0.05691855  0.23795993 -0.21012362  0.49117309]
[ 0.02798675  0.46786382 -0.21691855  0.09795993 -0.33012362  0.51117309]
[ 0.02798675  0.46786382 -0.21691855  0.09795993 -0.33012362  0.51117309]
[ 0.02798675  0.48786382 -0.17691855  0.15795993 -0.25012362  0.53117309]
[-0.07201325  0.36786382 -0.31691855 -0.00204007 -0.43012362  0.51117309]
[-0.07201325  0.36786382 -0.31691855 -0.00204007 -0.43012362  0.51117309]
[ 0.22798675  0.68786382  0.02308145  0.35795993 -0.05012362  0.53117309]
[-0.17201325  0.26786382 -0.41691855 -0.10204007 -0.53012362  0.51117309]
In [15]:
import numpy as np
import matplotlib.pyplot as plt
 
class Perceptron:
    
    def __init__(self, eta=0.10, epochs=50):
        
        self.eta = eta
        self.epochs = epochs
        
        
    def predict(self, x):
        
        total_stimulation = np.dot(x, self.w)       
        y_pred = 1 if total_stimulation > 0 else -1
        return y_pred
        
    
    def fit(self, X, y):
        
        ones = np.ones((X.shape[0], 1))
        X_1 = np.append(X.copy(), ones, axis=1)
 
        self.w = np.random.rand(X_1.shape[1])
        
        for e in range(self, epochs):
 
            for x, y_target in zip(X_1,y):
            
                y_pred = self.predict(x)
                delta_w = self.eta * (y_target - y_pred) * x
                self.w += delta_w
In [22]:
#32LAB 

import time
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
 
 
num_iterations = 30
time_results_loop = []
 
for iteration in range(1, num_iterations+1):
    
    start_time = time.time()
    
    data = np.arange(0,10000*iteration, 1)
    
    my_sum = 0
    for i in data:
        my_sum += i
    
    end_time = time.time()  
    time_results_loop.append(end_time - start_time)
    


time_results_np = []
 
for iteration in range(1, num_iterations+1):
 
    start_time = time.time()
    
    data = np.arange(0,10000*iteration, 1)
    my_sum = np.sum(data)
    
    end_time = time.time()
    time_results_np.append(end_time - start_time)
    
print(np.sum(time_results_loop))
print(np.sum(time_results_np))
C:\Users\igors\AppData\Local\Temp/ipykernel_13736/1913157956.py:20: RuntimeWarning: overflow encountered in long_scalars
  my_sum += i
1.175290584564209
0.010973691940307617
In [25]:
fig = plt.figure()
plt.scatter(range(num_iterations), time_results_loop, s=20, c='b', marker="s", label='loop')
plt.scatter(range(num_iterations), time_results_np, s=20, c='r', marker="o", label='numpy')
plt.legend(loc='upper left');
plt.show()
In [32]:
#32 LAB CIAG DALSZY


import time
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
 
 
num_iterations = 10
time_results_loop = []
 
for iteration in range(1, num_iterations+1):
    
    start_time = time.time()
    
    data1 = np.ones(shape=(10*iteration, 10*iteration), dtype=np.float)
    data2 = np.ones(shape=(10*iteration, 10*iteration), dtype=np.float)
    data3 = np.zeros(shape=(10*iteration, 10*iteration), dtype=np.float)
    
    my_sum = 0
    for i in range(data3.shape[0]):
        for j in range(data3.shape[1]):
            data3[i,j]=data2[i,j]+data1[i,j]
        
    
    end_time = time.time()  
    time_results_loop.append(end_time - start_time)
    
time_results_loop
C:\Users\igors\AppData\Local\Temp/ipykernel_13736/4149814616.py:17: DeprecationWarning: `np.float` is a deprecated alias for the builtin `float`. To silence this warning, use `float` by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use `np.float64` here.
Deprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations
  data1 = np.ones(shape=(10*iteration, 10*iteration), dtype=np.float)
C:\Users\igors\AppData\Local\Temp/ipykernel_13736/4149814616.py:18: DeprecationWarning: `np.float` is a deprecated alias for the builtin `float`. To silence this warning, use `float` by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use `np.float64` here.
Deprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations
  data2 = np.ones(shape=(10*iteration, 10*iteration), dtype=np.float)
C:\Users\igors\AppData\Local\Temp/ipykernel_13736/4149814616.py:19: DeprecationWarning: `np.float` is a deprecated alias for the builtin `float`. To silence this warning, use `float` by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use `np.float64` here.
Deprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations
  data3 = np.zeros(shape=(10*iteration, 10*iteration), dtype=np.float)
Out[32]:
[0.0,
 0.0009968280792236328,
 0.000997304916381836,
 0.001996755599975586,
 0.003988504409790039,
 0.006017923355102539,
 0.004952907562255859,
 0.005982875823974609,
 0.00997614860534668,
 0.008974552154541016]
In [33]:
time_results_np = []
 
for iteration in range(1, num_iterations+1):
 
    start_time = time.time()
    
    data1 = np.ones(shape=(10*iteration, 10*iteration), dtype=np.float)
    data2 = np.ones(shape=(10*iteration, 10*iteration), dtype=np.float)
    data3 = np.zeros(shape=(10*iteration, 10*iteration), dtype=np.float)
    data3 = data1+data2
    
    end_time = time.time()
    time_results_np.append(end_time - start_time)
    
time_results_np
C:\Users\igors\AppData\Local\Temp/ipykernel_13736/2608938932.py:7: DeprecationWarning: `np.float` is a deprecated alias for the builtin `float`. To silence this warning, use `float` by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use `np.float64` here.
Deprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations
  data1 = np.ones(shape=(10*iteration, 10*iteration), dtype=np.float)
C:\Users\igors\AppData\Local\Temp/ipykernel_13736/2608938932.py:8: DeprecationWarning: `np.float` is a deprecated alias for the builtin `float`. To silence this warning, use `float` by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use `np.float64` here.
Deprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations
  data2 = np.ones(shape=(10*iteration, 10*iteration), dtype=np.float)
C:\Users\igors\AppData\Local\Temp/ipykernel_13736/2608938932.py:9: DeprecationWarning: `np.float` is a deprecated alias for the builtin `float`. To silence this warning, use `float` by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use `np.float64` here.
Deprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations
  data3 = np.zeros(shape=(10*iteration, 10*iteration), dtype=np.float)
Out[33]:
[0.0010273456573486328,
 0.0,
 0.0,
 0.0,
 0.0009691715240478516,
 0.0,
 0.0,
 0.0009961128234863281,
 0.0,
 0.0]
In [34]:
#mnożenie macierzy ręczne

import time
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
 
 
num_iterations = 10
time_results_loop = []
 
for iteration in range(1, num_iterations+1):
    
    start_time = time.time()
    
    data1 = np.ones(shape=(10*iteration, 10*iteration), dtype=np.float)
    data2 = np.ones(shape=(10*iteration, 10*iteration), dtype=np.float)
    data3 = np.zeros(shape=(10*iteration, 10*iteration), dtype=np.float)
    
    my_sum = 0
    for i in range(data3.shape[0]):
        for j in range(data3.shape[1]):
            data3[i,j]=sum([data1[i,v]*data2[v,j] for v in range(data1.shape[1])])
        
    
    end_time = time.time()  
    time_results_loop.append(end_time - start_time)
    
time_results_loop
C:\Users\igors\AppData\Local\Temp/ipykernel_13736/2892219516.py:14: DeprecationWarning: `np.float` is a deprecated alias for the builtin `float`. To silence this warning, use `float` by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use `np.float64` here.
Deprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations
  data1 = np.ones(shape=(10*iteration, 10*iteration), dtype=np.float)
C:\Users\igors\AppData\Local\Temp/ipykernel_13736/2892219516.py:15: DeprecationWarning: `np.float` is a deprecated alias for the builtin `float`. To silence this warning, use `float` by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use `np.float64` here.
Deprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations
  data2 = np.ones(shape=(10*iteration, 10*iteration), dtype=np.float)
C:\Users\igors\AppData\Local\Temp/ipykernel_13736/2892219516.py:16: DeprecationWarning: `np.float` is a deprecated alias for the builtin `float`. To silence this warning, use `float` by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use `np.float64` here.
Deprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations
  data3 = np.zeros(shape=(10*iteration, 10*iteration), dtype=np.float)
Out[34]:
[0.0009984970092773438,
 0.0059833526611328125,
 0.028923988342285156,
 0.03989267349243164,
 0.08628249168395996,
 0.140625,
 0.2585134506225586,
 0.294619083404541,
 0.4837043285369873,
 0.6293714046478271]
In [36]:
#mnożenie macierzy automat

time_results_np = []
 
for iteration in range(1, num_iterations+1):
 
    start_time = time.time()
    
    data1 = np.ones(shape=(10*iteration, 10*iteration), dtype=np.float)
    data2 = np.ones(shape=(10*iteration, 10*iteration), dtype=np.float)
    data3 = np.zeros(shape=(10*iteration, 10*iteration), dtype=np.float)
    data3 = data1.dot(data2)
    
    end_time = time.time()
    time_results_np.append(end_time - start_time)
    
time_results_np
C:\Users\igors\AppData\Local\Temp/ipykernel_13736/425375555.py:9: DeprecationWarning: `np.float` is a deprecated alias for the builtin `float`. To silence this warning, use `float` by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use `np.float64` here.
Deprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations
  data1 = np.ones(shape=(10*iteration, 10*iteration), dtype=np.float)
C:\Users\igors\AppData\Local\Temp/ipykernel_13736/425375555.py:10: DeprecationWarning: `np.float` is a deprecated alias for the builtin `float`. To silence this warning, use `float` by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use `np.float64` here.
Deprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations
  data2 = np.ones(shape=(10*iteration, 10*iteration), dtype=np.float)
C:\Users\igors\AppData\Local\Temp/ipykernel_13736/425375555.py:11: DeprecationWarning: `np.float` is a deprecated alias for the builtin `float`. To silence this warning, use `float` by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use `np.float64` here.
Deprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations
  data3 = np.zeros(shape=(10*iteration, 10*iteration), dtype=np.float)
Out[36]:
[0.0009980201721191406,
 0.0,
 0.0,
 0.000997781753540039,
 0.0,
 0.0,
 0.000997781753540039,
 0.0,
 0.0,
 0.0009961128234863281]
In [3]:
import numpy as np
 
data = np.array([[10, 7, 4], [3, 2, 1]])
np.mean(data,axis=0)
Out[3]:
array([6.5, 4.5, 2.5])
In [8]:
np.average(data,axis=0, weights=[1,3])
Out[8]:
array([4.75, 3.25, 1.75])
In [9]:
np.var(data, axis=1)
Out[9]:
array([6.        , 0.66666667])
In [10]:
np.std(data,axis=0)
Out[10]:
array([3.5, 2.5, 1.5])
In [12]:
data = np.zeros((2, 1000000))
data[0, :] = 1.0
data[1, :] = 0.1
np.mean(data, dtype=np.float32)
np.mean(data, dtype=np.float64)
Out[12]:
0.5499999999999972
In [14]:
data = np.zeros((2, 10))
data[0, :] = 1.0
data[1, :] = 0.1
np.mean(data, dtype=np.float32)
np.mean(data, dtype=np.float64)
Out[14]:
0.55
In [10]:
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
from sklearn.model_selection import train_test_split
%matplotlib inline
 
class Perceptron:
    
    def __init__(self, eta=0.10, epochs=50, is_verbose = False):
        
        self.eta = eta
        self.epochs = epochs
        self.is_verbose = is_verbose
        self.list_of_errors = []
        
    
    def predict(self, x):
        
        ones = np.ones((x.shape[0],1))
        x_1 = np.append(x.copy(), ones, axis=1)
        #activation = self.get_activation(x_1)
        #y_pred = np.where(activation >0, 1, -1)
        #return y_pred
        return np.where(self.get_activation(x_1) > 0, 1, -1)
        
    
    def get_activation(self, x):
        
        activation = np.dot(x, self.w)
        return activation
     
    
    def fit(self, X, y):
        
        self.list_of_errors = []
        
        ones = np.ones((X.shape[0], 1))
        X_1 = np.append(X.copy(), ones, axis=1)
 
        self.w = np.random.rand(X_1.shape[1])
        
        for e in range(self.epochs):
 
            error = 0
            
            activation = self.get_activation(X_1)
            delta_w = self.eta * np.dot((y - activation), X_1)
            self.w += delta_w
                
            error = np.square(y - activation).sum()/2.0
                
            self.list_of_errors.append(error)
            
            if(self.is_verbose):
                print("Epoch: {}, weights: {}, error {}".format(
                        e, self.w, error))
                
                
                
X = np.array([
    [2., 4.,  20.],  # 2*2 - 4*4 + 20 =   8 > 0
    [4., 3., -10.],  # 2*4 - 4*3 - 10 = -14 < 0
    [5., 6.,  13.],  # 2*5 - 4*6 + 13 =  -1 < 0
    [5., 4.,   8.],  # 2*5 - 4*4 + 8 =    2 > 0
    [3., 4.,   5.],  # 2*3 - 4*4 + 5 =   -5 < 0 
])
 
y = np.array([1, -1, -1, 1, -1])
 
perceptron = Perceptron(eta=0.0001, epochs=100, is_verbose=True)            
perceptron.fit(X, y)
plt.scatter(range(perceptron.epochs), perceptron.list_of_errors)
 
 
 
df = pd.read_csv(r"C:\Users\igors\Downloads\iris\iris.data", header = None)
df = df.iloc[:100, :].copy()
df[4] = df[4].apply(lambda x: 1 if x == 'Iris-setosa' else -1)
df
 
X = df.iloc[0:100, :-1].values
y = df[4].values
 
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
 
 
p = Perceptron(eta = 0.0001, epochs=100) 
p.fit(X_train, y_train)   
             
y_pred = p.predict(X_test)
 
plt.scatter(range(p.epochs), p.list_of_errors)
Epoch: 0, weights: [0.3170976  0.67746751 0.61911329 0.17319946], error 341.34967267358303
Epoch: 1, weights: [0.30077886 0.6565591  0.5575614  0.16875889], error 289.96237910197533
Epoch: 2, weights: [0.28550754 0.63709622 0.5012633  0.16461703], error 246.7043285852206
Epoch: 3, weights: [0.27119991 0.61896162 0.4497811  0.16074981], error 210.28201413946314
Epoch: 4, weights: [0.25777915 0.60204781 0.40271329 0.15713512], error 179.60790255437354
Epoch: 5, weights: [0.24517478 0.58625615 0.35969172 0.15375271], error 153.7676326680422
Epoch: 6, weights: [0.23332217 0.5714962  0.32037887 0.15058397], error 131.99243744471994
Epoch: 7, weights: [0.222162   0.557685   0.28446525 0.14761186], error 113.63595794308854
Epoch: 8, weights: [0.21163986 0.54474644 0.25166711 0.14482073], error 98.15474974826537
Epoch: 9, weights: [0.20170582 0.53261072 0.22172428 0.14219624], error 85.09189382739204
Epoch: 10, weights: [0.19231407 0.52121381 0.19439821 0.13972521], error 74.06321741651476
Epoch: 11, weights: [0.18342258 0.51049695 0.16947019 0.13739557], error 64.74570928050406
Epoch: 12, weights: [0.17499277 0.50040627 0.14673971 0.13519623], error 56.867779883079265
Epoch: 13, weights: [0.16698925 0.49089232 0.12602291 0.13311703], error 50.20107265743704
Epoch: 14, weights: [0.15937952 0.48190976 0.10715122 0.13114864], error 44.55357935837441
Epoch: 15, weights: [0.15213376 0.47341695 0.08997009 0.12928249], error 39.763851815623134
Epoch: 16, weights: [0.14522461 0.46537572 0.07433783 0.12751072], error 35.696135482064356
Epoch: 17, weights: [0.13862693 0.45775103 0.06012453 0.12582614], error 32.23627797727998
Epoch: 18, weights: [0.13231766 0.45051073 0.04721107 0.12422211], error 29.28828920533693
Epoch: 19, weights: [0.1262756  0.44362531 0.03548827 0.12269256], error 26.771449281025458
Epoch: 20, weights: [0.12048132 0.43706769 0.024856   0.12123192], error 24.6178770239053
Epoch: 21, weights: [0.11491695 0.43081302 0.01522249 0.11983506], error 22.770485672949064
Epoch: 22, weights: [0.10956609 0.42483848 0.00650358 0.1184973 ], error 21.181264155420166
Epoch: 23, weights: [ 0.10441365  0.41912313 -0.00137787  0.1172143 ], error 19.80983206424676
Epoch: 24, weights: [ 0.0994458   0.41364775 -0.00849258  0.11598211], error 18.622224754801326
Epoch: 25, weights: [ 0.09464981  0.40839467 -0.01490538  0.11479708], error 17.589871913738467
Epoch: 26, weights: [ 0.09001399  0.40334769 -0.02067573  0.11365588], error 16.688738788784374
Epoch: 27, weights: [ 0.08552759  0.39849193 -0.0258581   0.11255543], error 15.898604175166778
Epoch: 28, weights: [ 0.08118073  0.39381371 -0.03050244  0.1114929 ], error 15.20245337974169
Epoch: 29, weights: [ 0.07696433  0.38930047 -0.03465454  0.11046571], error 14.585967852258904
Epoch: 30, weights: [ 0.07287001  0.38494067 -0.03835638  0.10947147], error 14.037096089238865
Epoch: 31, weights: [ 0.06889011  0.38072371 -0.04164644  0.10850799], error 13.545692867574031
Epoch: 32, weights: [ 0.06501753  0.37663985 -0.04455998  0.10757325], error 13.10321592617458
Epoch: 33, weights: [ 0.06124578  0.37268013 -0.04712932  0.10666541], error 12.702470946929088
Epoch: 34, weights: [ 0.05756885  0.36883632 -0.04938411  0.10578274], error 12.337397143222038
Epoch: 35, weights: [ 0.05398122  0.36510085 -0.05135149  0.1049237 ], error 12.002886989192586
Epoch: 36, weights: [ 0.0504778   0.36146676 -0.05305636  0.10408683], error 11.694634652784117
Epoch: 37, weights: [ 0.04705391  0.35792763 -0.05452154  0.1032708 ], error 11.409008561489387
Epoch: 38, weights: [ 0.04370522  0.35447758 -0.05576792  0.10247439], error 11.142944257659714
Epoch: 39, weights: [ 0.04042775  0.35111118 -0.05681468  0.10169647], error 10.893854312279727
Epoch: 40, weights: [ 0.03721781  0.34782344 -0.05767937  0.10093601], error 10.659552580672859
Epoch: 41, weights: [ 0.03407201  0.34460976 -0.05837808  0.10019205], error 10.438190516220539
Epoch: 42, weights: [ 0.03098722  0.3414659  -0.05892555  0.09946369], error 10.228203621899345
Epoch: 43, weights: [ 0.02796052  0.33838796 -0.0593353   0.09875014], error 10.02826642523776
Epoch: 44, weights: [ 0.02498925  0.33537233 -0.05961969  0.09805063], error 9.837254619391931
Epoch: 45, weights: [ 0.02207092  0.33241571 -0.05979007  0.09736448], error 9.654213229193957
Epoch: 46, weights: [ 0.01920324  0.32951502 -0.05985683  0.09669103], error 9.47832984275657
Epoch: 47, weights: [ 0.01638408  0.32666743 -0.05982948  0.0960297 ], error 9.308912102007636
Epoch: 48, weights: [ 0.01361147  0.32387034 -0.05971674  0.09537994], error 9.145368773984561
Epoch: 49, weights: [ 0.01088358  0.32112134 -0.05952658  0.09474124], error 8.987193832718678
Epoch: 50, weights: [ 0.00819872  0.31841819 -0.05926632  0.09411313], error 8.83395307233973
Epoch: 51, weights: [ 0.0055553   0.31575882 -0.05894265  0.09349518], error 8.685272848370829
Epoch: 52, weights: [ 0.00295186  0.31314134 -0.05856171  0.09288698], error 8.540830608366688
Epoch: 53, weights: [ 0.00038704  0.31056397 -0.05812909  0.09228815], error 8.40034692700928
Epoch: 54, weights: [-0.00214044  0.30802507 -0.05764994  0.09169835], error 8.263578806142835
Epoch: 55, weights: [-0.00463176  0.30552312 -0.05712895  0.09111726], error 8.130314038372779
Epoch: 56, weights: [-0.00708804  0.30305671 -0.05657043  0.09054456], error 8.000366464921731
Epoch: 57, weights: [-0.0095103   0.30062453 -0.05597832  0.08997999], error 7.8735719853969846
Epoch: 58, weights: [-0.01189951  0.29822536 -0.05535621  0.08942328], error 7.7497851997917175
Epoch: 59, weights: [-0.01425658  0.29585806 -0.05470739  0.08887419], error 7.628876582099887
Epoch: 60, weights: [-0.01658236  0.29352158 -0.05403489  0.08833249], error 7.510730100947692
Epoch: 61, weights: [-0.01887765  0.29121494 -0.05334144  0.08779796], error 7.395241216115504
Epoch: 62, weights: [-0.0211432   0.2889372  -0.05262957  0.0872704 ], error 7.2823151911501105
Epoch: 63, weights: [-0.02337971  0.28668753 -0.05190157  0.08674964], error 7.17186567178921
Epoch: 64, weights: [-0.02558786  0.2844651  -0.05115955  0.08623549], error 7.063813487925847
Epoch: 65, weights: [-0.02776826  0.28226917 -0.05040542  0.08572778], error 6.958085643571369
Epoch: 66, weights: [-0.02992151  0.28009904 -0.04964094  0.08522637], error 6.854614464934343
Epoch: 67, weights: [-0.03204819  0.27795404 -0.04886769  0.08473111], error 6.753336881490687
Epoch: 68, weights: [-0.0341488   0.27583354 -0.04808715  0.08424186], error 6.654193818920303
Epoch: 69, weights: [-0.03622388  0.27373697 -0.04730063  0.08375848], error 6.557129686148659
Epoch: 70, weights: [-0.03827389  0.27166377 -0.04650935  0.08328086], error 6.4620919415591285
Epoch: 71, weights: [-0.04029929  0.26961342 -0.04571442  0.08280888], error 6.369030725819355
Epoch: 72, weights: [-0.04230052  0.26758543 -0.04491683  0.08234243], error 6.277898550763404
Epoch: 73, weights: [-0.04427799  0.26557934 -0.04411749  0.0818814 ], error 6.188650035451943
Epoch: 74, weights: [-0.04623211  0.26359469 -0.04331725  0.08142569], error 6.10124168194554
Epoch: 75, weights: [-0.04816325  0.26163108 -0.04251686  0.08097522], error 6.015631684513934
Epoch: 76, weights: [-0.05007179  0.25968811 -0.04171699  0.08052987], error 5.931779767002855
Epoch: 77, weights: [-0.05195807  0.25776539 -0.04091827  0.08008958], error 5.849647043919653
Epoch: 78, weights: [-0.05382243  0.25586257 -0.04012127  0.07965426], error 5.769195901504952
Epoch: 79, weights: [-0.05566519  0.2539793  -0.03932649  0.07922382], error 5.690389895651038
Epoch: 80, weights: [-0.05748667  0.25211525 -0.0385344   0.07879819], error 5.613193664026833
Epoch: 81, weights: [-0.05928718  0.25027011 -0.0377454   0.07837729], error 5.537572850188849
Epoch: 82, weights: [-0.061067    0.24844358 -0.03695987  0.07796107], error 5.463494037810267
Epoch: 83, weights: [-0.06282641  0.24663537 -0.03617815  0.07754944], error 5.39092469345699
Epoch: 84, weights: [-0.0645657   0.24484519 -0.03540055  0.07714234], error 5.319833116588845
Epoch: 85, weights: [-0.06628512  0.24307278 -0.03462732  0.07673971], error 5.2501883956738435
Epoch: 86, weights: [-0.06798495  0.24131787 -0.03385872  0.07634149], error 5.181960369479716
Epoch: 87, weights: [-0.06966542  0.23958023 -0.03309496  0.07594761], error 5.115119592755217
Epoch: 88, weights: [-0.07132678  0.23785961 -0.03233623  0.07555803], error 5.049637305638314
Epoch: 89, weights: [-0.07296927  0.23615578 -0.03158271  0.07517267], error 4.985485406233238
Epoch: 90, weights: [-0.07459313  0.23446851 -0.03083453  0.0747915 ], error 4.9226364258865045
Epoch: 91, weights: [-0.07619857  0.23279757 -0.03009184  0.07441445], error 4.861063506766129
Epoch: 92, weights: [-0.07778583  0.23114276 -0.02935475  0.07404148], error 4.800740381410607
Epoch: 93, weights: [-0.07935511  0.22950388 -0.02862334  0.07367253], error 4.7416413539666395
Epoch: 94, weights: [-0.08090664  0.22788071 -0.02789772  0.07330755], error 4.683741282878665
Epoch: 95, weights: [-0.08244061  0.22627307 -0.02717796  0.0729465 ], error 4.627015564830373
Epoch: 96, weights: [-0.08395723  0.22468076 -0.0264641   0.07258933], error 4.571440119769502
Epoch: 97, weights: [-0.0854567   0.22310359 -0.02575621  0.072236  ], error 4.516991376873514
Epoch: 98, weights: [-0.08693922  0.22154139 -0.02505433  0.07188645], error 4.4636462613357715
Epoch: 99, weights: [-0.08840497  0.21999397 -0.02435847  0.07154065], error 4.41138218187043
Out[10]:
<matplotlib.collections.PathCollection at 0x29b810018e0>
In [17]:
#DANE O RAKU PIERSI

import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
%matplotlib inline
 
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
from sklearn.model_selection import train_test_split
%matplotlib inline
 
class Perceptron:
    
    def __init__(self, eta=0.10, epochs=50, is_verbose = False):
        
        self.eta = eta
        self.epochs = epochs
        self.is_verbose = is_verbose
        self.list_of_errors = []
        
    
    def predict(self, x):
        
        ones = np.ones((x.shape[0],1))
        x_1 = np.append(x.copy(), ones, axis=1)
        #activation = self.get_activation(x_1)
        #y_pred = np.where(activation >0, 1, -1)
        #return y_pred
        return np.where(self.get_activation(x_1) > 0, 1, -1)
        
    
    def get_activation(self, x):
        
        activation = np.dot(x, self.w)
        return activation
     
    
    def fit(self, X, y):
        
        self.list_of_errors = []
        
        ones = np.ones((X.shape[0], 1))
        X_1 = np.append(X.copy(), ones, axis=1)
 
        self.w = np.random.rand(X_1.shape[1])
        
        for e in range(self.epochs):
 
            error = 0
            
            activation = self.get_activation(X_1)
            delta_w = self.eta * np.dot((y - activation), X_1)
            self.w += delta_w
                
            error = np.square(y - activation).sum()/2.0
                
            self.list_of_errors.append(error)
            
            if(self.is_verbose):
                print("Epoch: {}, weights: {}, error {}".format(
                        e, self.w, error))
                

                
diag = pd.read_csv(r"C:\Users\igors\Downloads\breast_cancer\breast_cancer.csv")
X=diag[['area_mean','area_se', 'texture_mean', 'concavity_worst', 'concavity_mean']]
y=diag["diagnosis"]
y=y.apply(lambda n: 1 if n == "M" else -1)


perceptron = Perceptron(eta=0.0000001, epochs=100)
perceptron.fit(X, y)
plt.scatter(range(perceptron.epochs), perceptron.list_of_errors)
Out[17]:
<matplotlib.collections.PathCollection at 0x1d39448b9a0>
In [25]:
#cd wyzszego
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler

scaler = StandardScaler()
scaler.fit(X)
X_std = scaler.transform(X)

X_train, X_test, y_train, y_test = train_test_split(X_std, y, test_size = 0.2)

y_pred = perceptron.predict(X_test)

good = y_test[y_test == y_pred].count()
total = y_test.count()

print('result: {}'.format(100*good/total))
result: 42.10526315789474
In [28]:
#GOTOWY PERCEPTRON
import numpy as np
import pandas as pd
from sklearn.preprocessing import StandardScaler
from sklearn.model_selection import train_test_split
from sklearn.linear_model import Perceptron

diag = pd.read_csv(r"C:\Users\igors\Downloads\breast_cancer\breast_cancer.csv")
X=diag[['area_mean','area_se', 'texture_mean', 'concavity_worst', 'concavity_mean']]
y=diag["diagnosis"]
y=y.apply(lambda n: 1 if n == "M" else -1)

scaler = StandardScaler()
scaler.fit(X)
X_std = scaler.transform(X)
X_train, X_test, y_train, y_test = train_test_split(X_std, y, test_size=0.2)

perceptron = Perceptron(eta0=0.01,
                        max_iter=100)
perceptron.fit(X_train,y_train)

y_pred = perceptron.predict(X_test)
good = y_test[y_test == y_pred].count()
total = y_test.count()
print('result: {}'.format(100*good/total))
result: 89.47368421052632
In [10]:
help(reshape)
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
~\AppData\Local\Temp/ipykernel_5612/2451989573.py in <module>
----> 1 help(reshape)

NameError: name 'reshape' is not defined
In [2]:
pip install opencv-python
Requirement already satisfied: opencv-python in c:\users\igors\miniconda3\envs\igorpython\lib\site-packages (4.6.0.66)
Requirement already satisfied: numpy>=1.19.3 in c:\users\igors\miniconda3\envs\igorpython\lib\site-packages (from opencv-python) (1.21.5)
Note: you may need to restart the kernel to use updated packages.
In [2]:
import os
# https://pypi.org/project/opencv-python/
# pip install opencv-python
import cv2
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
%matplotlib inline
from random import randint
from sklearn.model_selection import train_test_split
from sklearn.linear_model import Perceptron

PATH = r'C:/Users/igors/Downloads/four-shapes/shapes/'
IMG_SIZE = 64
shapes = ["circle", "square", "triangle", "star"]
labels = []
dataset = []


# From kernel: https://www.kaggle.com/smeschke/load-data
for shape in shapes:
    print("Getting data for: ", shape)
    #iterate through each file in the folder
    for path in os.listdir(PATH + shape):
        #add the image to the list of images
        image = cv2.imread(PATH + shape + '/' + path)
        image = cv2.resize(image, (IMG_SIZE, IMG_SIZE))
        image = image.reshape(12288)
        dataset.append(image)
        labels.append(shapes.index(shape))
Getting data for:  circle
Getting data for:  square
Getting data for:  triangle
Getting data for:  star
In [45]:
#opcjonalnie sprawdzamy jak wygladaja ksztalty

index = np.random.randint(0, len(dataset) - 1, size= 20)
plt.figure(figsize=(5,7))
 
for i, ind in enumerate(index, 1):
    img = dataset[ind].reshape((64, 64, 3))
    lab = shapes[labels[ind]]
    plt.subplot(4, 5, i)
    plt.title(lab)
    plt.axis('off')
    plt.imshow(img)
In [46]:
X = np.array(dataset)
X.shape
 
y=np.array(labels)
y.shape
Out[46]:
(14970,)
In [47]:
#cwiczymy model
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
perceptron = Perceptron(max_iter=100, shuffle=True)
perceptron.fit(X_train, y_train)
perceptron.score(X_test, y_test)

y_pred = perceptron.predict(X_test)
In [48]:
#zle wyniki
bad_results = [(a,b,c) for (a,b,c) in zip(X_test[y_test != y_pred], 
                                          y_test[y_test != y_pred],
                                          y_pred[y_test != y_pred] )]
In [49]:
bad_results
Out[49]:
[(array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), 0, 1),
 (array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), 1, 0)]
In [50]:
#patrzymy obrazki zlych wynikow opcjonalnie
i=1
for x_t, y_t, y_p in bad_results:
    img = x_t.reshape((64, 64, 3))
    label_test = shapes[y_t]
    label_pred = shapes[y_p]
    plt.figure(figsize=(20,20))
    plt.subplot(len(bad_results), 1, i)
    plt.title(label_test +' - '+ label_pred)
    plt.axis('off')
    plt.imshow(img)
    i+=1
In [55]:
idx = randint(0,y_pred.size)
plt.title(shapes[y_pred[idx]])
plt.imshow(X_test[idx].reshape((64,64,3)))
Out[55]:
<matplotlib.image.AxesImage at 0x26bf1843ca0>
In [56]:
y_pred
Out[56]:
array([3, 2, 3, ..., 3, 2, 0])
In [10]:
dataset
Out[10]:
[array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 array([255, 255, 255, ..., 255, 255, 255], dtype=uint8),
 ...]
In [ ]: